php-动态Mysql查询并通过`GET`传递多个值
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php-动态Mysql查询并通过`GET`传递多个值,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1979字,纯文字阅读大概需要3分钟。
内容图文
![php-动态Mysql查询并通过`GET`传递多个值](/upload/InfoBanner/zyjiaocheng/882/6cba3ab126cf465287defe364858f7cd.jpg)
我有一个具有多个复选框的基本表单.选中复选框后,它将把值附加到ajax调用的URL中.将这些值传递给mypage.php?item1 = 1& item2 = 2& item3 = 3之后,我正在使用GET [‘item’]检索和存储这些值,以便在SQL查询中使用.此问题的复杂性在于,由于它基于复选框,因此传递的值量可能会有所不同.例如,您可以传递1个值或传递所有三个值.我的问题是:如何使这种动态变化适用于sql查询?如果传递了多个值,则查询将在WHERE子句中要求对其他项进行AND.
<script>
$('#submitForm').click(function() {
var url = "'www.mysite.com/mypage.php";
if ($("#checkbox_form").serialize().length > 0) {
url += "?" + $("#checkbox_form").serialize();
}
$.getJSON(url)
});
</script>
<form name="checkbox_form" id="checkbox_form">
<input type="checkbox" value="1" id="item1" name="val1" />
<input type="checkbox" value="2" id="item2" name="val2" />
<input type="checkbox" value="3" id="item3" name="val3" />
<input type="submit" id="submitForm" value="Submit Form" />
<form>
mypage.php?item1 = 1& item2 = 2
$item = $_GET['item#'];
$sql_query = "SELECT info From Products Where :item# AND item#";
$sql_prepare = $db_con->prepare($sql_query);
if (!$sql_prepare->execute(array(':item#' => $item)))
//rest of code
解决方法:
首先,您需要创建一个输入数组,而不是“ val1”,“ val2”.
只需给每个输入一个val [x]的名称,例如val [1],val [2]等.或者,您可以让它成为一个新的数组元素:val [].
然后,您需要在构建查询之前使用PHP foreach处理此问题,例如:
$sql_query = "SELECT info From Products";
$conditions = array();
if (isset($_GET['val']) && is_array($_GET['val'])) {
$vals = $_GET['val'];
foreach ($vals as $key => $val) {
$conditions[] = '`field'. $key .'` = '. $val;
// You should change the conditions the way you want, I'm not sure about what you want here.
}
}
if (count($conditions) > 0) {
$sql_query .= ' where '. implode(' and ', $conditions);
}
您完成了!
更新
如评论中所述,这是您要寻找的条件:
foreach ($vals as $val) {
$conditions[] = '`item_id` = '. $val;
}
此外,在这种情况下,请不要忘记您是否需要AND.因此,也请编辑此行:
$sql_query .= ' where '. implode(' or ', $conditions);
内容总结
以上是互联网集市为您收集整理的php-动态Mysql查询并通过`GET`传递多个值全部内容,希望文章能够帮你解决php-动态Mysql查询并通过`GET`传递多个值所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。