PHP试图将select下拉列表的值回显到屏幕

PHP试图将select下拉列表的值回显到屏幕,php,select,echo,Php,Select,Echo,我有一个简单的代码块,可以将一个表打印到屏幕上。此表有三列和id、car(下拉列表,包括福特、丰田和gmc三个选项)和名称。我试图做的是将特定行下拉列表选择的值打印到屏幕上。我的方法不起作用 <?php //////connecting to our sql server $db_connect=mysql_connect("XXXXXXXXXXXX", "XXXXXXXXX", "XXXXXXXXXXXXX") or die("not logged in"); ////

我有一个简单的代码块,可以将一个表打印到屏幕上。此表有三列和id、car(下拉列表,包括福特、丰田和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>";
?>

这是错误的:

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']];
请记住,是“name”参数将值指定给超全局变量。这些变量中未使用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']];
echo”;
河流浅水处
丰田
gmc;
";
echo$_GET['carDropDown.$row['id'];
但这里还有另一个问题。。。 如果您打算在处理过程中以某种方式使用此id,则需要知道所有这些id以获取您的值。那么为什么不使用数组呢

<select name='carDropDown[]'>

然后,您可以这样循环:

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

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

<?php endforeach; ?>



不管怎样,这里看起来有些可疑。您是否打算让汽车表中的每一行都有一个选择框,选择福特、丰田或gmc作为选项?或者,您是否试图在一个包含所有汽车品牌的选择框中设置该品牌的汽车,当该选择框被更改时,将用该品牌的汽车填充您的查询和结果?

您似乎没有检查是否已单击“提交”按钮。比如:

if (isset($_GET['submit'])) {
echo value;
}

在您提交表单之前,它不会打印该值。即使如此,打印的值将是
1
2
3
中的一个。还有,没有提交按钮。很抱歉,我没有发布完整的代码。我现在会发布。当我提交表单时,它不会回显值1、2或3。您的HTML验证了吗?尝试在
select
中添加一个
id
,它与
name
相同。我在select中添加了一个id,但仍然没有。感谢您的帮助……是的,我打算在每一行中都有一个选择框,当进行选择时,我想将该值放入我的数据库中……但现在我只是想将该值打印到屏幕上错误地放置了一个报价单…感谢您的帮助…我已在上面发布了更正的代码,并且在您的更新中,您还在name参数中添加了一个空格。你会想摆脱它的。
if (isset($_GET['submit'])) {
echo value;
}