php - mysql 中多个商店的假期

标签 php mysql

我在 MySQL 数据库中有一个表,其中包含商店和日期。我需要检查一下商店当天是否营业。

在按照此方法检查商店是否营业之前: Find next time business is open; mysql hours calculation在检查商店是否营业之前,我需要检查商店是否正在放假。

有一张 table 好吗:

商店 ID |天数

xxx |数字,数字,数字,等等.

应用程序(用 PHP 编写)查询检查 Days 字符串(逗号分隔值字符串)中是否包含 [yday]? 商店 ID 将是商店表中的外键,应用程序将始终提前知道要对哪些商店运行此查询,而不是相反。

到目前为止,我还没有找到计算成本低或优雅的解决方案。这可能是一个非常简单的问题,但解决方案太多,我很难找出不同的性能问题。

编辑 1

还考虑查询的性能影响如下,将 @GordonLinoff 答案视为最佳解决方案:

$ShopId = //a POST or GET 
$day = //a POST or GET

$query = mysqli_query($con,"SELECT day FROM table WHERE ShopId = '$ShopId' AND day = $day");

if(mysql_num_rows($query)== 0){
   echo "Shop open";
}
else{
 echo "Shop closed";
}

mysqli_close($con);

最佳答案

您将有一个表,其中一行代表每个商店和每个假期。所以一行将是:

ShopId Day
xxx    number
xxx    number
xxx    number

然后您可以使用 SQL 轻松检查此表中的包含情况。而且,如果您在 (ShopId, Day) 上有索引,将会非常高效。

关于php - mysql 中多个商店的假期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20763196/

相关文章:

php - 表格中每一列的频率列表

php - MySQL数据库设计——关系表

mysql - 使用正则表达式将一列拆分为多列

php - MySQL-PHP - 每天更新列值

php - Paypal REST api - 如何控制显示语言?

MySQL 按current_timestamp 选择上个月的数据

sql - MySQL查询查找订购了两种特定产品的客户

Mysql建表报错整数

php - 如何覆盖默认的 Yii2 - Filsh Oauth 服务器响应

javascript - JSON 从 PHP 到 Javascript 用单引号解析