Onchange更新数据库

时间:2013-05-23 11:37:37

标签: php jquery

我正在尝试创建一个页面,您可以在下拉选择框中选择一个值。选择后,应使用所选值更新数据库。 我使用2页一个包括html / javascript和一个使用PHP。 目前,当我选择的时候没有任何事情发生。

我做错了什么?

test.php的

<html>
<head>
    <script type="text/javascript" src="js/jquery.js"></script> 
    <script>
    function updateDb() {
     $.post("buh.php", $("#form").serialize());
    }
    </script>
</head>
<body>
    <form id="form">
    <?php
        include 'Includes/database_connection.php';
        $sql = "select * FROM sims ORDER BY phonenr asc"    ;
        $result = mysql_query($sql,$con);       
        echo "<select id='select' name='select' onChange='updateDb()'>";
        while ($row = mysql_fetch_array($result)) {
            echo "<option value='" . $row['phonenr'] . "'>" . $row['phonenr'] . "</option>";
        }
        echo "</select>";
    ?>
    </form>
</body>

和buh.php

<?php
include 'Includes/database_connection.php';
$sql = "select * FROM sims ORDER WHERE phonenr='".mysql_escape_string($_POST["select"])."'"     ;
$result = mysql_query($sql,$con);
while ($row = mysql_fetch_array($result)) {
    $id = $row['id'];
    mysql_query("UPDATE pairings SET sim_id='$id' WHERE unit_id='1'")
or die(mysql_error()); 
}

&GT;

3 个答案:

答案 0 :(得分:1)

选择* FROM sims ORDER ..你在buh.php中错误地添加了ORDER

$sql = "select * FROM sims ORDER WHERE phonenr='".mysql_escape_string($_POST["select"])."'"     ;

答案 1 :(得分:1)

SELECT查询

有问题
$sql = "select * FROM sims ORDER WHERE phonenr='".mysql_escape_string($_POST["select"])."'"     ;
                           ^this ORDER here makes no sense

删除单词ORDER,这是一个按列排序的子句,或者使用正确的语法为其分配一个列

SELECT * FROM tablename WHERE yourcolumncondition ORDER BY yourcolumntoorderby

然后我想要记住,mysql_函数已被弃用,因此我建议您切换到mysqliPDO

答案 2 :(得分:1)

$sql = "select * FROM sims ORDER WHERE phonenr='".mysql_escape_string($_POST["select"])."'" ;

删除订单。