php - 如何合并多个select语句

标签 php mysql

以下查询:

$today = date('Y-m-d');
$sql = "SELECT * FROM table WHERE day1 = '$today' AND country = 'India' OR day2 = '$today' AND country = 'India' OR day3 = '$today' AND country = 'India' OR day4 = '$today' AND country = 'India' OR day5 = '$today' AND country = 'India' OR day6 = '$today' AND country = 'India' OR day7 = '$today' AND country = 'India' OR day8 = '$today' AND country = 'India' OR day9 = '$today' AND country = 'India' OR day10 = '$today' AND country = 'India'";
if($_POST!=""){
  $mydate = mysql_real_escape_string($_POST['datepicker']);
  if($mydate!=""){  
    $sql = "SELECT * FROM table WHERE day1 = '$mydate' AND country = 'India' OR day2 = '$mydate' AND country = 'India' OR day3 = '$mydate' AND country = 'India' OR day4 = '$mydate' AND country = 'India' OR day5 = '$mydate' AND country = 'India' OR day6 = '$mydate' AND country = 'India' OR day7 = '$mydate' AND country = 'India' OR day8 = '$mydate' AND country = 'India' OR day9 = '$mydate' AND country = 'India' OR day10 = '$mydate' AND country = 'India'";   
  }     
}
.......
........
echo"......
......
......

它与日期选择器链接。仅在同一页面中回显。想要在同一页面中添加以下选择语句....如果用户单击“接下来 10 天的计划”。

select * from table WHERE (day1 >= CURRENT_TIMESTAMP
   AND country = 'India'
   AND day1 <= CURRENT_TIMESTAMP + INTERVAL 10 DAY
   AND country = 'India')
OR
   (day2 >= CURRENT_TIMESTAMP
   AND country = 'India'
   AND day2 <= CURRENT_TIMESTAMP + INTERVAL 10 DAY
   AND country = 'India')

......till day10

最佳答案

SELECT * FROM table 
 WHERE (
            (day1 BETWEEN NOW() AND NOW() + INTERVAL 10 DAY)
         OR (day2 BETWEEN NOW() AND NOW() + INTERVAL 10 DAY)
         OR (day3 BETWEEN NOW() AND NOW() + INTERVAL 10 DAY)
         OR (day4 BETWEEN NOW() AND NOW() + INTERVAL 10 DAY)
         OR (day5 BETWEEN NOW() AND NOW() + INTERVAL 10 DAY)
         OR (day6 BETWEEN NOW() AND NOW() + INTERVAL 10 DAY)
         OR (day7 BETWEEN NOW() AND NOW() + INTERVAL 10 DAY)
         OR (day8 BETWEEN NOW() AND NOW() + INTERVAL 10 DAY)
         OR (day9 BETWEEN NOW() AND NOW() + INTERVAL 10 DAY)
         OR (day10 BETWEEN NOW() AND NOW() + INTERVAL 10 DAY)
       )
   AND country = 'India'

关于php - 如何合并多个select语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6758591/

相关文章:

php - JSON对象作为数组中的数组如何保持while循环继续

Phpmailer 错误 "Could not instantiate mail function"

php - 图像随机标题有问题

PHP 仅字母和空格验证

php - 无法访问 PHP 中的变量值

mysql - 从 MySql 中检索两个 Varchar 日期之间的数据

PHP 邮件不工作并返回 false

mysql - 格式化数据

mysql - SELECT DISTINCT 并计数

php - Magento - 如何使用从自定义 MySQL 表获取数据的网格表创建 Adminhtml 页面