每个结果的风格不同

时间:2014-03-01 15:51:56

标签: php

我尝试按照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>'; } 
}

2 个答案:

答案 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类;这样你只能需要更改一个规则而不是每个元素的样式,以防您想要更改某些内容。)