我正在为我正在处理的项目提供一周的可用性表。桌子打印一切都很好,但我需要' doctorName'字段是某些颜色取决于它们是否可用(绿色)或不是(红色)。因此,为了更清楚,请查看此屏幕截图 - https://www.dropbox.com/s/ikxww1yqy10198j/Screen%20Shot%202015-12-05%20at%2010.23.55.png?dl=0
正如你所看到的那样,第二列在每个时间段都打印出3个医生的名字,如果医生预约就像周三上午10点用Moe那样打印出timeSlotId。我想弄清楚如果医生预约如何让第二栏中的医生姓名变成红色,如果不是,那么就是绿色。如果医生可用它会使该字段为空,因此为什么有大量的字段是空的,我还没有很多虚拟数据。
这是打印出我的表格的if语句:
$results = @mysqli_query ($conn, $query);
//$numrows = mysqli_num_rows($results);
if ($results) {
echo '<table>
<tr> <td bgcolor="#DC0E03"><font color="#fff"><strong>The Time</stong> </font></td> <td bgcolor="#DC0E03"><font color="#fff"><strong>Doctor Name</stong> </font></td> <td bgcolor="#DC0E03"><font color="#fff"><strong>Monday</stong> </font></td> <td bgcolor="#DC0E03"><font color="#fff"><strong>Tuesday</stong> </font></td> <td bgcolor="#DC0E03"><font color="#fff"><strong>Wednesday</stong> </font></td> <td bgcolor="#DC0E03"><font color="#fff"><strong>Thursday</stong> </font></td> <td bgcolor="#DC0E03"><font color="#fff"><strong>Friday</stong> </font></td> </tr>';
while ($row = mysqli_fetch_array($results, MYSQLI_ASSOC)) {
echo '<tr><td bgcolor="#DC0E03"><font color="#fff">' . $row['theTime'] . '</font></td> <td bgcolor="#bababa">' . $row['doctorName'] . '</td> <td bgcolor="#9f9f9f"><font color="#fff">' . $row['bMon'] . '</font></td> <td bgcolor="#9f9f9f"><font color="#fff">' . $row['bTue'] . '</font></td> <td bgcolor="#9f9f9f"><font color="#fff">' . $row['bWed'] . '</font></td> <td bgcolor="#9f9f9f"><font color="#fff">' . $row['bThu'] . '</font></td> <td bgcolor="#9f9f9f"><font color="#fff">' . $row['bFri'] . '</font></td></tr>';
}
echo '</table>';
mysqli_free_result ($results);
} else {
echo '<p class="error">There are no patient's.</p>';
}
我是否需要在此下创建另一个if语句? &#34;如果单元格null将医生姓名更改为绿色,否则更改医生姓名红色&#34;。 我试过在网上搜索,但找不到任何东西。任何帮助将不胜感激。
答案 0 :(得分:1)
您可以这样做:
$results = @mysqli_query ($conn, $query);
//$numrows = mysqli_num_rows($results);
if ($results) {
?>
<table>
<tr>
<td bgcolor="#DC0E03"><font color="#fff"><strong>The Time</stong></font></td>
<td bgcolor="#DC0E03"><font color="#fff"><strong>Doctor Name</stong></font></td>
<td bgcolor="#DC0E03"><font color="#fff"><strong>Monday</stong></font></td>
<td bgcolor="#DC0E03"><font color="#fff"><strong>Tuesday</stong></font></td>
<td bgcolor="#DC0E03"><font color="#fff"><strong>Wednesday</stong></font></td>
<td bgcolor="#DC0E03"><font color="#fff"><strong>Thursday</stong></font></td>
<td bgcolor="#DC0E03"><font color="#fff"><strong>Friday</stong></font></td>
</tr>
<?php
while ($row = mysqli_fetch_array($results, MYSQLI_ASSOC)){
?>
<tr>
<td bgcolor="#DC0E03"><font color="#fff"><?php echo $row['theTime']; ?></font></td>
<td bgcolor="#bababa"><?php $row['doctorName']; ?></td>
<td bgcolor="<?php if(empty($row['bMon'])){ echo '#00ff00'; }else{ echo '#ff0000'; } ?>"><font color="#fff"><?php echo $row['bMon']; ?></font></td>
<td bgcolor="<?php if(empty($row['bTue'])){ echo '#00ff00'; }else{ echo '#ff0000'; } ?>"><font color="#fff"><?php echo $row['bTue']; ?></font></td>
<td bgcolor="<?php if(empty($row['bWed'])){ echo '#00ff00'; }else{ echo '#ff0000'; } ?>"><font color="#fff"><?php echo $row['bWed']; ?></font></td>
<td bgcolor="<?php if(empty($row['bThu'])){ echo '#00ff00'; }else{ echo '#ff0000'; } ?>"><font color="#fff"><?php echo $row['bThu']; ?></font></td>
<td bgcolor="<?php if(empty($row['bFri'])){ echo '#00ff00'; }else{ echo '#ff0000'; } ?>"><font color="#fff"><?php echo $row['bFri']; ?></font></td>
</tr>
<?php
}
?>
</table>
<?php
mysqli_free_result ($results);
} else {
echo '<p class="error">There are no patient's.</p>';
}
答案 1 :(得分:0)
由于只有两种颜色,我会使用ternary operator(类似的东西):
<?php while ($row = mysqli_fetch_array($results, MYSQLI_ASSOC)) : ?>
<tr>
<td bgcolor="#DC0E03"><font color="#fff"><?= $row['theTime'] ?></font></td>
<td bgcolor="#<?= ($apointment ? '#66cc00' : 'cc0000') ?>"><?= $row['doctorName'] ?></td>
<td bgcolor="#9f9f9f"><font color="#fff"><?= $row['bMon'] ?></font></td>
<td bgcolor="#9f9f9f"><font color="#fff"><?= $row['bTue'] ?></font></td>
<td bgcolor="#9f9f9f"><font color="#fff"><?= $row['bWed'] ?></font></td>
<td bgcolor="#9f9f9f"><font color="#fff"><?= $row['bThu'] ?></font></td>
<td bgcolor="#9f9f9f"><font color="#fff"><?= $row['bFri'] ?></font></td>
</tr>
<?php endwhile; ?>
答案 2 :(得分:0)
这是一个简单的答案,用于检查他们是否在一周内预约或没有预约。
if(empty($row['bMon']) && empty($row['bTue']) && empty($row['bWed']) &&
empty($row['bThu']) && empty($row['bFri'])) {
echo '<td bgcolor="green">' . $row['doctorName'] . '</td>';
} else {
echo '<td bgcolor="red">' . $row['doctorName'] . '</td>';
}
希望它有所帮助。