让 SQL 使用选择表单元素,逗号分隔
Posted
技术标签:
【中文标题】让 SQL 使用选择表单元素,逗号分隔【英文标题】:get SQL to work with a select form element, comma delimited 【发布时间】:2012-08-15 13:04:45 【问题描述】:我试图让用户仅查看某些记录,其中查询变量由用户使用表单给出。该表单包含一个日期选择器和 3 个选择元素,用户可以在其中选择多个选项,允许的选项由 SQL 使用SELECT DISTINCT
填充。
日期选择有效,但 SELECT 列表仅在选择一个值时有效。我觉得问题是由“结果”页面上的错误 SQL 引起的。我不知道如何使 SQL 使用逗号分隔的字符串(例如:user1、user2、user3 等。这是我的 SQL 查询:
SELECT *
FROM exp_core
WHERE `time` >= startdate
AND `time` <= enddate
AND user LIKE uservar
AND type LIKE typevar
AND trnsact LIKE trnsactvar
uservar
、typevar
和 trnsactvar
是逗号分隔的表单变量。谁知道如何让 SQL 将这些值视为单独的值?
【问题讨论】:
这可以在 mysql 中完成,但在 php 中更容易完成。你在使用 php 吗?如果没有,请查看:***.com/questions/11691942/… 【参考方案1】:对于多个变量,您必须使用 IN 运算符。
SELECT *
FROM exp_core
WHERE `time` >= startdate
AND `time` <= enddate
AND user IN (uservar)
AND type IN (typevar)
AND trnsact IN (trnsactvar)
【讨论】:
恐怕这行不通。它仍然显示所有内容(或什么都不显示)。 如果传递的值不是整数,则必须将每个值括在引号中。以上是关于让 SQL 使用选择表单元素,逗号分隔的主要内容,如果未能解决你的问题,请参考以下文章
VBA:为从 SQL Server 数据库中选择的十进制数获取逗号分隔符而不是点