自动提交下拉值到数据库
Posted
技术标签:
【中文标题】自动提交下拉值到数据库【英文标题】:autosubmit drop down value into database 【发布时间】:2015-07-15 08:44:16 【问题描述】:我正在尝试使用 onchange=this.form.submit() 将下拉菜单的值自动提交到数据库中,但我无法使其工作。谁能帮帮我吗。任何建议都将受到高度赞赏。
代码如下:
<?
require_once ('database.php');
?>
<form action="" method=post>
<select name="assignee" onchange="this.form.submit()">
<option value="0">Unassigned</option>
<?
$find_selected = mysql_query("select assign_to from orders where id = $id");
$asignee =mysql_fetch_row($find_selected);
$list=mysql_query("SELECT id, full_name from user where username <> 'root' and nature = 3");
while($row_list=mysql_fetch_assoc($list))
?>
<option value="<? echo $row_list['id']; ?>"<? if($row_list['id']== $asignee['0']) echo "selected"; ?>><? echo $row_list['full_name'] ?></option>
<?
mysql_free_result($list);
mysql_free_result($find_selected);
?>
</select>
</form>
<?php
if(isset($_POST['submit']))
$sql = "UPDATE `orders` SET `assign_to` = '$_POST['assignee']' WHERE `id` = '$id' ";
mysql_query($sql) or die(mysql_error());
?>
【问题讨论】:
这段代码中没有带有name="submit"
的元素,也许你的意思是isset($_POST['assignee'])
?
你是如何得到 $id 的?并使用 PDO 和 MySQLi 进行数据库访问,此功能已弃用。
转义你的输入!除非你想见Bobby Tables
@shashikant $id 基于订单id
@Scuzzy 我尝试使用 isset($_POST['assignee']) 但它没有更新到数据库中..
【参考方案1】:
<?php
if(isset($_POST['assignee']))
$sql = "UPDATE `orders` SET `assign_to` = '$_POST['assignee']' WHERE id=$id";
mysql_query($sql);
?>
您刚刚定义了查询但没有执行它
【讨论】:
感谢指出我的错误..但它仍然无法更新到数据库中 尝试 var_dump($_POST['assignee']);查看您的表单是否已提交以及提交的内容 当我在下拉菜单中选择一个值时..它输出字符串(3)“212”..“212”实际上是user_id $sql = "UPDATE \`orders\` SET \`assign_to\` = '$_POST['assignee']' where `ID`= '$id' " 仍然有语法错误:(除非我喜欢 '$_POST['assignee']' 但它仍然不起作用以上是关于自动提交下拉值到数据库的主要内容,如果未能解决你的问题,请参考以下文章
asp.net mvc 如何实现自动提交或保留用户未登录前得信息