php - 检查数组中有多少值大于 x

标签 php mysql arrays

使用 MySQL 查询创建值数组后,我需要检查它们是否都至少等于给定值。这是为了检查酒店的房间可用性。

首先我执行 MySQL 查询:

foreach( $datearray as $value ) {
$query_avail = "SELECT cupo, ex_cupo.room_id FROM ex_cupo JOIN ex_rooms ON ex_cupo.room_id=ex_rooms.room_id  AND ex_rooms.room_id = '$room_id' AND dt = '$value'";
$avail = mysql_query($query_avail, $MySQL_extranet) or die(mysql_error());
$row_avail = mysql_fetch_assoc($avail);
   $availresult[] = $row_avail['cupo'];
}

“Cupo”是给定日期的可用房间数量,因此 $availresult 将是一系列日期范围内的可用房间数量。

现在,如果有人想在这些日期预订(比方说)2 个房间,我需要确保数组中的每个值至少为 2。例如,如果范围内有 5 个日期,它们分别为 2、2 , 1, 2, 2,我需要返回 false,但是如果它们是 2, 2, 2, 2, 2 或者 2, 2, 3, 2, 2,我需要返回 true。

我该怎么做? (我希望我解释得足够好。)

显然选择2只是一个例子。它通常是一个名为 $numrooms 的变量。

最佳答案

WHERE cupo > 2 添加到您的 SQL 代码中。让数据库只为您提供您想要的结果,而不是遍历结果以自行检查 cupo>2。

如果您需要能够更改它,请使用参数化查询。参见 http://php.net/manual/en/security.database.sql-injection.php了解详情。

关于php - 检查数组中有多少值大于 x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13981714/

相关文章:

php - 使用 PHP 的多层应用程序?

php - onclick 事件打开框并在框上提交它链接到 php 函数,该函数将一些值设置为 db

php - 大约 1k 个数据库连接处于 TIME_WAIT 状态。我应该担心吗?

使用 for 循环与结构指针复制数组元素

php - 使用 cookie 保持用户登录状态

javascript - Jquery 表单与选择器中的自适应表

mysql - 从 Drupal 7 迁移数据

database - 如果日期存储为文本,MYSQL 可以按日期过滤吗?例如 "02/10/1984"

java - 如何计算字符串数组中字符串的重复次数

python - 从python中的字符串列表创建给定长度的随机列表