Code: Select all
[field_name] => Array(blah,blah,blah)Moderator: General Moderators
Code: Select all
[field_name] => Array(blah,blah,blah)Code: Select all
<?php
//validate important input
if ((!$_POST[table_name]) || (!$_POST[num_fields])) {
header("Location:http://............../show_createtable.html");
exit;
}
//begin creating form for display
$form_block ="
<FORM METHOD="POST " ACTION="do_createtable.php">
<INPUT TYPE="hidden " NAME="table_name" VALUE="$_POST[table_name]">
<TABLE CELLSPACING=5 CELLPADDING=5>
<TR>
<TH>FIELD NAME</TH><TH>FIELD TYPE</TH><TH>FIELD LENGTH</
TH><TH>PRIMARY KEY?</TH><TH>AUTO-INCREMENT?</TH></TR>";
//count from 0 until you reach the number of fields
for ($i =0;$i < $_POST[num_fields];$i++){
//add to the form,one row for each field
$form_block .="
<TR>
<TD ALIGN=CENTER><INPUT TYPE="text" NAME="field_name[]" SIZE="30"></TD>
<TD ALIGN=CENTER>
<SELECT NAME="field_type[]">
<OPTION VALUE="char ">char</OPTION>
<OPTION VALUE="date ">date</OPTION>
<OPTION VALUE="float ">float</OPTION>
<OPTION VALUE="int ">int</OPTION>
<OPTION VALUE="text ">text</OPTION>
<OPTION VALUE="varchar ">varchar</OPTION>
</SELECT>
</TD>
<TD ALIGN=CENTER><INPUT TYPE="text" NAME="field_length[]" SIZE="5 "></TD>
<TD ALIGN=CENTER><INPUT TYPE="checkbox" NAME="primary[]" VALUE="Y "></TD>
<TD ALIGN=CENTER><INPUT TYPE="checkbox" NAME="auto_increment[]" VALUE="Y "></TD>
</TR>";
}
//finish up the form
$form_block .="
<TR>
<TD ALIGN=CENTER COLSPAN=3><INPUT TYPE="submit" VALUE="Create Table"></TD>
</TR>
</TABLE>
</FORM>";
?>
<HTML>
<HEAD>
<TITLE>Create a Database Table:Step 2</TITLE>
</HEAD>
<BODY>
<H1>Please define fields for <? echo "$_POST[table_name]"; ?></H1>
<? echo "$form_block"; ?>
</HTML>Code: Select all
<?php
// create connection
$conn = mysql_connect("host","user","pass") or die($sql);
// select database
$db = mysql_select_db("testDB", $conn) or die($sql);
$sql = "CREATE TABLE".$_POST['table_name']."";
for ($i = 0; $i < count($_POST['field_name']); $i++) {
$sql .= "$_POST[field_name][$i] $_POST[field_type][$i]";
if ($_POST['auto_increment'][$i] = "Y") {
$additional = "NOT NULL auto_increment";
} else {
$additional = ",";
}
if ($_POST['primary'][$i] == "Y") {
$additional .= ", primary key (".$_POST[field_name][$i].")";
} else {
$additional = ",";
}
if ($_POST['field_length'][$i] != "") {
$sql .= "$_POST[field_length][$i]";
} else {
$sql .= ",";
}
}
$sql = substr($sql, 0,-1);
$sql .= ")";
// execute SQL query and get result
$sql_result = mysql_query($sql,$conn) or die($sql);
//print success message
if ($sql_result) {
echo "<P>$_POST[table_name] has been created!</p>";
}
?>
<HTML>
<HEAD>
<TITLE>Create a Database Table: Step 3</TITLE></HEAD>
<BODY>
<h1>Adding table to
<?php echo $_POST[table_name]; ?>
</h1>
<? echo "$msg"; ?>
</BODY>
</HTML>Code: Select all
<input type = "text" name = "field_nameї]" value = "Name">As I'm very new to this, I was just implementing PHP the way the sources that I'm learning from are saying.pickle wrote:Well, generally that's the only time you'd use the []. My next question was why you were putting text field values into an array, and not giving each text field it's own unique name?
Code: Select all
<TD ALIGN=CENTER><INPUT TYPE="checkbox" NAME="'primary_key'[]" VALUE="Y "></TD>Code: Select all
if ($_POST['primary_key'][$i] == "Y") {
$additional .= ", primary_key (".$_POST[field_name][$i].")";
} else {
$additional = ",";
}Code: Select all
<INPUT TYPE="checkbox" NAME="'primary_key'[]" VALUE="Y ">Code: Select all
<input type= "checkbox" name = "primary_key[]" value = "Y">Code: Select all
echo <<<INPUT
<input type = "checkbox" name = "primary_key[]" value = "Y">
INPUT;Code: Select all
<TD ALIGN=CENTER><INPUT TYPE="checkbox" NAME="primary_key[]" VALUE="Y"></TD>Code: Select all
if ($_POST['primary_key'][$i] == "Y") {Code: Select all
$additional .= ", 'primary_key' (".$_POST[field_name][$i].")";
} else {
$additional = ",";
}
?>