0

嗨,我有以下代码:

$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'”的查询(正如您在我的代码中看到的那样),但返回的是空的。

我想要的示例:

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

我不知道我该怎么做,我希望有人能在这里帮助我。

谢谢。

4

3 回答 3

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 包含选定的值

主要问题是您没有将您的选择包含在表单标签中。另外要从 POST 方法中获取值,您应该在 PHP 或$_REQUEST中使用$_POST

要检查 $_POST 包含的内容,您可以使用函数

var_dump($_POST);
于 2013-05-06T11:03:13.373 回答
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>
于 2013-05-06T10:50:27.310 回答
0

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

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

$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>

完毕。

于 2013-05-06T10:54:13.447 回答