PHPMYSQL高级搜索脚本.怎么样?

PHPMYSQL高级搜索脚本.怎么样?,第1张

概述我需要一些指导来为我正在处理的网站制作高级搜索脚本.我已经知道如何在数据库中搜索简单查询.我现在遇到的问题是如何在使用多个选择框时进行搜索.例如:这只是一个具有不同搜索选项的简单表单.问题是:访问者可以选择搜索国家或城市,甚至可以选择所有三个选项.我如何在PHP脚本中捕获它?我是否必须检查是否已选择某个城市,并根据该问题触发查询?但如果我这样做,我将不得不根

我需要一些指导来为我正在处理的网站制作高级搜索脚本.

我已经知道如何在数据库中搜索简单查询.我现在遇到的问题是如何在使用多个选择框时进行搜索.例如:

这只是一个具有不同搜索选项的简单表单.问题是:

访问者可以选择搜索国家或城市,甚至可以选择所有三个选项.

我如何在PHP脚本中捕获它?我是否必须检查是否已选择某个城市,并根据该问题触发查询?但如果我这样做,我将不得不根据每个选择选项进行不同的查询.

在伪代码中,它将是这样的:(我想)

如果country和city以及其他内容不为null,则启动查询以搜索数据库中的所有三个表.

但是当选择这个国家时该怎么办?还是仅仅是城市?

有没有一种简单的方法来实现这一目标?

提前致谢.

最佳答案我喜欢使用数组来加入条件,因此我不必担心前导或尾随AND.

$conditions = array();if ($formCondition1) {  $conditions[] = 'state = "'.$somevalue.'"';}if ($formCondition2) {  $conditions[] = 'country = "'.$somevalue.'"';}...if ($formConditionN) {  $conditions[] = 'N = "'.$somevalue.'"';}

//最后将条件连接在一起,最简单的情况是使用AND(如果你需要添加OR,听起来你没有,那么这段代码会更复杂一些)

$sqlStatement = 'SELECT fIEld1,fIEld2 FROM tableABC WHERE '.implode(' AND ',$conditions);

编辑:不要忘记逃避输入以防止注入攻击,当然测试以确保在运行查询之前至少有1个条件.
编辑:哈哈Js狼和我认为非常相似:) 总结

以上是内存溢出为你收集整理的PHP / MYSQL高级搜索脚本.怎么样?全部内容,希望文章能够帮你解决PHP / MYSQL高级搜索脚本.怎么样?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1167538.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存