0

我正在尝试创建一个页面,您可以在其中在下拉选择框中选择一个值。进行选择时,应使用所选值更新数据库。我使用 2 个页面,其中一个包括 html/javascript,另一个使用 php。目前,当我选择某些东西时,什么也没有发生。

我究竟做错了什么?

测试.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()); 
}

?>

4

3 回答 3

1

select * FROM sims ORDER ..您在 buh.php 中错误地添加了 ORDER

$sql = "select * FROM sims ORDER WHERE phonenr='".mysql_escape_string($_POST["select"])."'"     ;
于 2013-05-23T11:42:05.893 回答
1

你的SELECT查询有问题

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

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

SELECT * FROM tablename WHERE yourcolumncondition ORDER BY yourcolumntoorderby

然后我想记住您mysql_不推荐使用功能,因此我建议您切换到mysqliPDO

于 2013-05-23T11:42:19.113 回答
1

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

删除订单。

于 2013-05-23T11:45:03.983 回答