动态DropDownList工作,但如何获得价值? PHP

时间:2013-05-06 10:46:40

标签: php mysql drop-down-menu

您好我有以下代码:

$dropdown = "<select name='test'>";
while($row = mysql_fetch_assoc($result)) {
  $dropdown .= "\r\n<option value='{$row['name']}'>{$row['name']}</option>";
}
$dropdown .= "\r\n</select>";
echo $dropdown;


<form name="input" action="databaseupdate.php" method="post">
Select the car you want to edit and fill in the form, followed by clicking the update button.
<br>
Carname: <input type="text" name="nameupdate">
Year build: <input type="text" name="yearupdate">
<input type="submit" value="Update">
</form>

这一个(databaseupdate.php):

<?php
$username = "root";
$password = "usbw";
$hostname = "localhost"; 
$db_name = "examples"; 
$tbl_name = "cars"; 


mysql_connect("$hostname", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

$nameupdate = $_POST['nameupdate'];
$yearupdate = $_POST['yearupdate'];
$test = $_POST['test'];

$query = "UPDATE cars SET name = '$nameupdate', year = '$yearupdate' WHERE id='$test'"; 
mysql_query($query) or die (mysql_error()); 


if($query){
echo "Successful";
echo "<BR>";
echo "<a href='databaseconnect.php'>Back to main page</a>";
}

else {
echo "ERROR";
}
?>

因此,列表由数据库中的所有汽车名称填充,这很好,但从这一点来说,我不知道如何获得汽车名称附带的ID。

我尝试过一个名为“wher id ='$ test'”的查询(正如你在我的代码中看到的那样)但是返回为空。

我想要的例子:

如果我从下拉列表中选择“Mercedes”并希望使用文本框更新它,我希望我的代码知道Mercedes的ID为1。

我不知道如何做到这一点,我希望有人可以帮助我。

感谢。

3 个答案:

答案 0 :(得分:0)

这样做:(只需在表单中添加下拉列表)

<?php
    $dropdown = "<select name='test'>";
    while($row = mysql_fetch_assoc($result)) {
      $dropdown .= "\r\n<option value='{$row['id']}'>{$row['name']}</option>";
    }
    $dropdown .= "\r\n</select>";
?>

    <form name="input" action="databaseupdate.php" method="post">
    Select the car you want to edit and fill in the form, followed by clicking the update button.
    <br>
    <?php echo $dropdown; ?>
    Carname: <input type="text" name="nameupdate">
    Year build: <input type="text" name="yearupdate">
    <input type="submit" value="Update">
    </form>

答案 1 :(得分:0)

首先在表单中包含您的下拉列表。

其次,如果您想要下拉选择ID,请在$result中从db获取车名,然后执行以下操作:

$dropdown = "<select name='test'>";
while($row = mysql_fetch_assoc($result)) {
$dropdown .= "\r\n<option value='{$row['ID']}'>{$row['name']}</option>";
}
$dropdown .= "\r\n</select>";

<form name="input" action="databaseupdate.php" method="post">
Select the car you want to edit and fill in the form, followed by clicking the update button.
 <br>
echo $dropdown;
Carname: <input type="text" name="nameupdate">
Year build: <input type="text" name="yearupdate">
<input type="submit" value="Update">
</form>

完成。

答案 2 :(得分:0)

<form name="input" action="databaseupdate.php" method="post">
Select the car you want to edit and fill in the form, followed by clicking the update     button.
<br>
Carname: <input type="text" name="nameupdate">
Year build: <input type="text" name="yearupdate">
<select name='test'>
<?php while($row = mysql_fetch_assoc($result)) {
  echo "\r\n<option value='{$row['name']}'>{$row['name']}</option>";
}?>
</select>
<input type="submit" value="Update">
</form>
databaseupdate.php

中的

$values = $_POST['test'];

$ values包含选定的值

主要问题是您没有将select into form标记包含在内。另外,要从POST方法获取值,您应该在PHP中使用 $ _ POST $ _ REQUEST

检查$ _POST包含哪些内容你可以使用函数

var_dump($_POST);