【问题标题】: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']) 但它没有更新到数据库中..

标签: javascript php mysql onchange


【解决方案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']}' 但它仍然不起作用
猜你喜欢
  • 1970-01-01
  • 2021-12-12
  • 2016-07-01
  • 2017-07-23
  • 1970-01-01
  • 2014-03-20
  • 1970-01-01
  • 2011-10-06
  • 2019-08-21
相关资源
最近更新 更多