【发布时间】:2019-07-14 02:21:21
【问题描述】:
如何通过三级表达式和语句创建sql select
一般情况下,我的网站是基于 SQLite 数据库的,搜索结果会以 $sql = 显示
"SELECT DISTINCT * FROM amz WHERE Title LIKE \"$qq%\" OR Price LIKE \"$qq%\" GROUP BY Title";.
上面将是搜索并选择包含数据库中标题或价格列中的任何搜索关键字的查询。
但是,我需要从数据库中创建 3 个表达式和语句:
- 默认搜索并显示结果为
$sql = "SELECT DISTINCT * FROM amz WHERE Title LIKE \"$qq%\" OR Price LIKE \"$qq%\" GROUP BY Title"; - 如果在标题和价格列中找不到任何搜索结果。然后 SQL 将在 Category 列中检查为
$sql = "SELECT DISTINCT * FROM amz WHERE Category LIKE \"$qq%\" GROUP BY Title"; - 最后,如果每列都不匹配。 SQL 结果将回显自定义消息。
我尝试用自己创造。但结果似乎只有 echo 1.) 选项。
例子:
我搜索“床上用品套装”。并且在数据库中的标题列中,产品包含此关键字而没有 (s)。
最初,将检查一个表达式是否匹配 1)。声明会从标题或价格列中选择产品。
但是,在“类别”列中。我将每个产品的特定类别声明为类别,例如“床上用品套装”。
因此,如果搜索结果与标题或价格中的床罩套装不匹配。结果将在“类别”而不是“标题”或“价格”列中显示匹配被褥套搜索查询的产品。
最后,如果搜索查询不匹配,每列中的任何一个都将回显自定义消息。
补充:
这是查询 1 和查询 2 结果之间的屏幕截图
此屏幕截图是查询 1 结果,该结果在数据库中的 Title 列或 Price 列中搜索没有 (s) 并且喜欢或匹配的关键字。
此屏幕截图是查询 2 结果,在类别列中使用喜欢或匹配的 (s) 搜索关键字。这很奇怪,因为当我将它设置为显示结果时它变成了 Not Found。
这是我的代码,我不确定它是否正确?
谢谢
问候
【问题讨论】:
标签: php html sql sqlite search