您好我有以下代码:
$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。
我不知道如何做到这一点,我希望有人可以帮助我。
感谢。
答案 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);