希望到目前为止每个人都享受编码的一天 :D。我对 JQUERY 和 AJAX 比较陌生,一直在努力寻找解决方法,不过我正在努力。但是我有一个小问题。我有使用 PHP 从 MYSQL 数据库生成的 HTML 内容(因此复选框的值不同);这是我正在为我的网站开发的一个简单的内部消息传递程序。我有一个复选框,我可以单击它来选中页面上的所有其他复选框。然而,我希望实现的是,当用户选择特定数量或什至几个复选框时,然后按下一张图片,然后调用我的 php 文件,该文件将负责删除用户选中的消息。上一个问题有很大帮助:How to pass jQuery variables to PHP variable?但我有很多复选框
HTML/JS:
<body>
Check Box: <input type="checkbox" name="check" value="1">
Check Box: <input type="checkbox" name="check" value="4">
Check Box: <input type="checkbox" name="check" value="3">
Check Box: <input type="checkbox" name="check" value="4">
<img id = "delete" src="http://icons.iconarchive.com/icons/visualpharm/must-have/256/Delete-icon.png">
<script>
$("#delete").click(function () {
$.post('sql_delete.php', 'num=' + $(this).val(), function (response) {
alert(response);
});
});
</script>
</body>
PHP
<?php
require 'functions/init.php';
$messageid = "_$POST[num]";
$sql_statement = "DELETE FROM chj_messages WHERE message_ID = $messageid";
mysql_query($sql_statement);
?>
我怀疑我可能需要在 JS 和 PHP 中使用循环,但我不确定。欢迎您提出所有美好的建议:D
最佳答案
$messageid = "_$POST[num]";
应该是 $messageid = $_POST['num'];
当用户单击它们时,您的代码将一个接一个地删除复选框。如果你想让用户尽可能多地勾选,然后点击某个按钮来删除它们,你需要从复选框中删除 click
监听器并将它绑定(bind)到提交按钮或你的图像提及。您还需要更改进行 ajax 调用的方式 - 您必须序列化所有已检查的 ID 并发送它。此外,PHP 代码需要对该数据进行反序列化,并对每个收到的 ID 进行 DELETE 查询。
此外,可能最重要的是,请阅读 SQL Injection在使用任何使用 MySQL 的站点上线之前。并且 mysql_* 函数已被弃用,就像它在 php.net 上所说的那样, 所以你最好切换到 mysqli_* 或 PDO。
关于php - 将多个变量从 jquery 传递到 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14553756/