PHP脚本,从表单填充的表数据

时间:2013-07-22 12:16:01

标签: php mysql

<html><head></head><body>
<?php
$db_hostname = "mysql";
$db_database = "u1da";
$db_username = "u1da";
$db_password = "1234";

$con = mysql_connect($db_hostname ,$db_username ,$db_password);
if (!$con) die ("Unable to connect to MySQL: ".mysql_error ());
mysql_select_db ( $db_database ) ||
die (" Unable to select database : ". mysql_error());

$query = "select * from students";
$result = mysql_query($query);

$result || die ("Database access failed: ".mysql_error());

$rows = mysql_num_rows($result);
echo "<table border=1>";
echo "<tr><td><p><b>Name</b></p></td></tr>";
for ($j = 0; $j < $rows ; $j ++) {
echo "<tr><td>", mysql_result($result,$j,'name') ,"</td></tr>";
}
echo "</table><br />";


$query2 = "select * from groups";
$result2 = mysql_query($query2);
$result2 || die ("Database access failed: ".mysql_error());
$rows2 = mysql_num_rows($result2);
echo "<table border=1>";
echo "<tr><td><p><b>Tutorial Group</b></p></td><td><p><b>Capacity</b></p></td></tr>";
for ($i = 0; $i < $rows2 ; $i ++) {
echo "<tr><td>", mysql_result($result2,$i,'Tutorial_Group') ,"</td><td>", mysql_result($result2,$i,'Capacity') ,"</td></tr>";
}
echo "</table>";

echo "<form method='post' action='' enctype="multipart/form-data">";

$query3 = "select * from students";
$result3 = mysql_query($query3);
echo "<br /><br /><select name='name'>";
while($name = mysql_fetch_array($result3)) {
echo "<option value='$name[Name]' > $name[Name] </option>"."<BR>";
}
echo "</select><br />";

$query4 = "select Tutorial_Group from groups";
$result4 = mysql_query($query4);
echo "<select name = 'group'>";
while($grp = mysql_fetch_array($result4)){
echo "<option value='$grp[Tutorial_Group]'>$grp[Tutorial_Group]</option>";
}
echo "</select><br />";
echo "Student ID: ";
echo '<input type="text" name="SID"><br />';
echo "Email: ";
echo '<input type="text" name="email"><br />';
echo '<input type="submit" name="submit" value="Submit">';
echo "</form>";
?>

这是我当前的脚本代码。 我必须进行一个查询,它将从2个下拉菜单和2个文本字段中获取值,并将它们插入表中。 表称为assg并具有列:Name,Student_ID,email,s_group。我尝试了一些不同的方法,但它没有成功。请帮忙。

2 个答案:

答案 0 :(得分:1)

你的第一个问题是你正在使用mysql_fetch_array将一个元素数组放入$ grp变量中,但接下来你尝试将它与一个关联数组一起使用来获取像$ grp这样的值[Tutorial_Group]

使用mysql_fetch_array你可以获得$ grp [0] ... $ grp [1]但不是$ grp [Tutorial_Group]

您需要使用mysql_fetch_assoc来获取关联数组,例如$ grp [Tutorial_Group]

你的第二个问题是使用复杂的php vars错误示例

不正确:

echo "<option value='$grp[Tutorial_Group]'>$grp[Tutorial_Group]</option>";

正确:

echo '<option value="'.$grp['Tutorial_Group'].'">'.$grp['Tutorial_Group'].'</option>';

或者

echo "<option value='{$grp['Tutorial_Group']}'>{$grp['Tutorial_Group']}</option>";

此外,代码只有查看表格和表格的部分。示例中缺少数据的插入部分。可能这部分也有一些错误。

答案 1 :(得分:0)

没有缩进,回声中的HTML,我甚至不理解你想要的东西 通过下拉表示选择?
那么$_POST['nameOfTheField']呢? 为什么多部分?这里没有要发送的文件。