gpt4 book ai didi

html - 根据组合框选择查询数据库

转载 作者:行者123 更新时间:2023-11-29 14:02:26 25 4
gpt4 key购买 nike

我有这个组合框,用于选择本例中给定航类的运营日期。

            <select style="border:1px solid #DCDCDC; color:#003663; font-size:11px;" class="search" name="day" id="day">
<option value="0">Sunday</option>
<option value="1">Monday</option>
<option value="2">Tuesday</option>
<option value="3">Wednesday</option>
<option value="4">Thursday</option>
<option value="5">Friday</option>
<option value="6">Saturday</option>
</select>

我们要查找信息的表称为 db_schedules。该表结构包含一个名为 daysofweek 的列。 0123456 指定日期,0 为星期日,1-6 为星期一至星期六。每条记录都有一个指定的 daysofweek 值,即在第 346 天的搜索中启用计划 3。

根据上述内容,如何根据组合框中选定的选项查询数据库进行搜索?

最佳答案

从问题来看,尚不清楚daysofweek列的数据类型,它是否是一个varchar并且您正在存储一个指示一组天的字符串(例如值“1235”代表周一、周二、周三和周五),或者是否是整数列,并且您有多行,每天一行。

如果它是 VARCHAR 列,则要搜索第 3、4 和 6 天,如果您想要任何与这些天匹配的 db_schedule 行:

SELECT ... 
FROM db_schedule d
WHERE ( d.daysofweek LIKE '%3%'
OR d.daysofweek LIKE '%4%'
OR d.daysofweek LIKE '%6%'
)

要获得所有日期的匹配,请使用这些谓词AND,而不是OR它们

SELECT ... 
FROM db_schedule d
WHERE ( d.daysofweek LIKE '%3%'
AND d.daysofweek LIKE '%4%'
AND d.daysofweek LIKE '%6%'
)

可以使用REGEXP来代替LIKE。在“OR”条件的情况下,例如查找“3”、“4”或“6”上的匹配项:

 WHERE d.daysofweek REGEXP '[346]'

INSTR 函数也可以工作:

 WHERE (  INSTR(d.daysofweek,'3') 
OR INSTR(d.daysofweek,'4')
OR INSTR(d.daysofweek,'6')
)

如果没有有关您所面临的确切问题的更详细信息,建议其他解决方案确实没有成效。

但我们可能会指出,可能有更合适的数据类型来存储 daysofweek,MySQL SET 数据类型似乎符合要求。

<小时/>

后续:

如果一周中的几天存储为 VARCHAR(7),并且您希望将“星期二”、“星期三”和“星期五”参数传递到 SQL 查询中以执行搜索...

我只是不明白为什么你要费心将从选择下拉框中返回的值转换为“Sunday”、“Monday”等字符串。

返回的值(根据您的 HTML 代码,它们将为“0”到“7”),并且这些值已经与数据库中存储的值“匹配”。

关于html - 根据组合框选择查询数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14864728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com