I am learning PHP, and I have been working on a Database system, and I need some help to get this to work, as I have to complete this project for work
My problem is that I dont yet fully understand PHP, I know the errors have something to do with not defining the table_name and filed_name arrays.. PLEASE help me!
My code is as follows:
PART TWO
DEFINE FIELDS CODE:
<?
//validate important input
if ((!$_POST[table_name]) || (!$_POST[num_fields])) {
header("Location:[url]http://../../show_createtable.html[/url]");
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>
And Part three:
Create Database table.
<?
error_reporting ( E_ALL );
// 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>
Many thanks