好的,首先,我为这个复杂而冗长的标题道歉,但我对这一切都很陌生,我不太确定如何解释,甚至不知道如何开始。。。所以我就这么做了!
我现在正在做的是从MySQL数据库中填充一个HTML下拉列表,然后我想选择用户从下拉列表中选择的任何选项,并以某种方式将数据输入到不同的表中。
我用来从表中获取数据的代码是:
<td>Model of Bike</td>
<td><select type ="text" name="bikeBrand">
<?php
$sql = mysql_query("SELECT bikeDescr, bikeID FROM Bikes");
while ($row = mysql_fetch_array($sql))
{
echo "<option value='bikeDescr'>" . $row['bikeDescr'] . "</option>";
}
?>
现在,一旦用户选择了想要的自行车,假设它是一辆Trek,我希望能够获得这些信息,并将其放入我的Insert into()Values()中,这样我就可以在每次创建新票证时跟踪他们选择了哪辆自行车。
希望我没有混淆或使事情变得更糟,但如果能帮助我做什么,或者去哪里找,我将不胜感激。
谢谢你抽出时间。
我建议你做一些改进,它们是:
1) select
标签没有type
属性,因此正确的使用方法是:
<select name="bikeBrand">
2) 当你在数据库中获得bikeDescr和bikeID字段时,我建议你使用bikeID作为每个选项的值,并使用bikeDestr来显示选项的名称。例如:
<td>Model of Bike</td>
<td><select name="bikeBrand">
<?php
$sql = mysql_query("SELECT bikeDescr, bikeID FROM Bikes");
while ($row = mysql_fetch_array($sql))
{
echo "<option value='" . $row['bikeID'] . "'>" . $row['bikeDescr'] . "</option>";
}
?>
因此,您可以在下一个文件中检索bikeBrand值,并将其插入数据库中。
您必须更改语句:
echo "<option value='bikeDescr'>" . $row['bikeDescr'] . "</option>";
到此:
echo "<option value='" . htmlentities($row['bikeDescr']) . '>" . $row['bikeDescr'] . "</option>";
至于INSERT
查询,你是想在同一页上调用它,还是在点击按钮或提交表单后调用它?
要获得您要执行的值表单上的操作作为另一个php文件,因此
<form action="submit.php" method="POST">
<td><select name="bikeBrand">
<?php
$sql = mysql_query("SELECT bikeDescr, bikeID FROM Bikes");
while ($row = mysql_fetch_array($sql))
{
echo "<option value='". $row['bikeDescr'] ."'>" . $row['bikeDescr'] . "</option>";
}
?>
</form>
submit.php看起来像
$value = $_POST['bikeBrand']
if(isset($value)){
// Database info goes here//
$sql = mysql_query("INSERT INTO table VALUES('$value')");
}