我在尝试使用某些条件回显数据库中的数据时遇到了一个小问题。 问题是,在同一个表中,我在同一时间有3个不同的值。
使用if语句的过滤器工作非常好,唯一的问题是如果找到“name1从07到08和第1周”和“name2从07到08和第2周”显示两者。
我的问题是,如何才能根据过滤器显示1?
请在数据库结构和php脚本中使用。
//** Table structure
id name week start end
1 name1 1 07 08
2 name2 1 08 09
3 name3 2 07 08
4 name4 3 07 08
//$week -> 1 from 1 to 5, 2 Saturday, 3 Sunday
//$start -> 07, 08 ... 14, hours
//$end -> 07, 08 ... 14, hours
$Date = date('H');
$user = '';
$pass = '';
$dbh = new PDO('mysql:host=localhost;dbname=mydatabase', $user, $pass);
foreach($dbh->query('SELECT * from table') as $row):
$week = $row['week'];
$start = $row['start'];
$end = $row['end'];
if(($Date >= $start) && ($Date < $end) && ($week == 1)):
echo 'This Week i will show this name' . $row['name'];
elseif(($Date >= $start) && ($Date < $end) && ($week == 2)):
echo 'This Saturday i will show this name' . $row['name'];
elseif(($Date >= $start) && ($Date < $end) && ($week == 3)):
echo 'This Sunday i will show this name' . $row['name'];
endif;
endforeach;
$dbh = null;
感谢任何帮助。