我尝试按照8,9,10的顺序显示当天的所有小时数...但是要区分数据库中的小时数与非小时数的小时数。例如,给出不同的颜色。有人可以帮忙吗? (我不是程序员而且我只是单独学习php,所以我会感激任何帮助,但请以简单的方式解释它)
这给了我数据库中的蓝色小时数。但我不能得到数据库中没有的时间,我不能给他们另一种颜色和正确的位置:8,9,10,11 ......
$result = mysqli_query($con, 'SELECT * FROM consulta
WHERE professional=1
AND client=0');
while ($row = mysqli_fetch_array($result)) {
if ($row['hour']=='09:00:00') { echo '<p style="color:blue;">9</p>'; }
elseif ($row['hour']=='10:00:00') { echo '<p style="color:blue;">10</p>'; }
elseif ($row['hour']=='11:00:00') { echo '<p style="color:blue;">11</p>'; }
elseif ($row['hour']=='12:00:00') { echo '<p style="color:blue;">12</p>'; }
}
答案 0 :(得分:1)
这里有一些sudo代码。制作一个包含所有小时数的数组。然后迭代该数组而不是数据库中的结果。
for ($i = 0; $i < 24; $i++) {
if(in_array("$i:00:00", $row)) {
// hour was found in the database
echo '<p style="color:blue;">'.$i.'</p>';
} else {
// hour was not found
echo '<p style="color:red;">'.$i.'</p>';
}
}
答案 1 :(得分:0)
通过这种方式,您可以在数据库中迭代 。只是他们。因此,如果11不在数据库中,如果根本不显示。你需要一个不同的逻辑。
您需要迭代所有24小时,并且每小时检查它是否在数据库中,如果是,则应用样式,如果不是,则正常渲染。还有一个提示,可能更容易对CSS类进行定义而不是使用内联样式(<p class="db">9</p>
而不是<p style="color:blue;">9</p>
,当然,正确定义db
类;这样你只能需要更改一个规则而不是每个元素的样式,以防您想要更改某些内容。)