0

我有这个简单的代码块,可以将表格打印到屏幕上。该表包含三列和 id 、car(包含三个选项的下拉列表 ford、toyota 和 gmc)和名称。我想要做的是将特定行下拉列表选择的值打印到屏幕上。我的方法不行....

<?php    
//////connecting to our sql server
$db_connect=mysql_connect("XXXXXXXXXXXX", "XXXXXXXXX", "XXXXXXXXXXXXX")    
 or die("not logged in");
//////now selecting our database
$db_select=mysql_select_db("XXXXXXXXXXX") or die(mysql_error());
////query
$query = mysql_query("SELECT * FROM car "); 


echo '<form action="drop_down_car_test.php?" method="GET">';
echo '<table border = \"1\">';
echo '<tr><td>id</td><td>car</td><td>name</td>';

while($row=mysql_fetch_array($query)){
echo "<tr><td>";

////in the database 'id' is the primary auto incremented id
echo $row['id'];
echo "</td><td>";

echo "<select name='carDropDown".$row['id']."' >;
<option value=\"1\">ford</option>;
<option value=\"2\">toyota</option>;
<option value=\"3\">gmc</option>;
</select>";

echo $_GET['carDropDown'.$row['id']];

echo "</td><td>";
echo $row['name'];
echo "</td><td>";
}////end while
echo"<table>";

echo '<td bgcolor=#7FFF00><input type="submit" value="Update"></td>';
echo "</form>";
?>
4

2 回答 2

1

这是错误的:

echo "<select name='carDropDown' id='carDropDown'".$row['id']." >;
<option value=\"1\">ford</option>;
<option value=\"2\">toyota</option>;
<option value=\"3\">gmc</option>;
</select>";

echo $_GET['carDropDown'.$row['id']];

你想用这个 html 回显的值只是:

$_GET['carDropDown']

请记住,将值分配给超全局变量的是“名称”参数。这些变量中不使用 id。

但是由于您在循环中使用它,我敢打赌您想要这样的东西:

echo "<select name='carDropDown".$row['id']."'>;
<option value=\"1\">ford</option>;
<option value=\"2\">toyota</option>;
<option value=\"3\">gmc</option>;
</select>";

echo $_GET['carDropDown'.$row['id']];

但这里还有另一个问题......如果你打算在处理中以某种方式使用它,你需要知道所有这些 id 来获取你的值。那为什么不使用数组呢?

<select name='carDropDown[]'>

然后你可以像这样循环遍历:

<?php foreach($_GET['carDropDown'] AS $car): ?>

    <?php echo $car; ?><br>

<?php endforeach; ?>

不管怎样,这里的东西看起来很可疑。您是否打算让汽车表中的每一行都有一个带有福特、丰田或 gmc 选项的选择框?或者您是否尝试在其中包含所有汽车制造商的选择框 - 当更改时 - 使用该制造商的汽车填充您的查询和结果?

于 2012-12-06T21:11:26.410 回答
0

您似乎没有检查是否已单击提交按钮。就像是:

if (isset($_GET['submit'])) {
echo value;
}
于 2012-12-06T21:15:19.087 回答