【发布时间】:2016-07-31 19:04:38
【问题描述】:
我有一个带标题的表格;周日、周一、周二、周三、周四、周五和周六。我从数据库中收集了用户“班次”...
<tr>
<th>Sunday</th>
<th>Monday</th>
<th>Tuesday</th>
<th>Wednesday</th>
<th>Thursday</th>
<th>Friday</th>
<th>Saturday</th>
</tr>
<?php $sql4 = "SELECT * FROM shifts WHERE date = '" . $sunday . "' or date = '" . $monday . "'
or date = '" . $tuesday . "' or date = '" . $wednesday . "'
or date = '" . $thursday . "' or date = '" . $friday . "'
or date = '" . $saturday . "'";
$result1 = $database->query($sql4);
echo"<tr>";
while ($row4 = mysqli_fetch_array($result1)){
echo "<td>";
echo $row4['name'];
echo "</td>";
}
echo "</tr>"
因此,每天可以有任意数量的班次,但取决于班次在哪一天,我需要将班次放在正确的表格标题下。
班次表有:shift_id, name, date, day
$resultsArray = array();
while ($row4 = mysqli_fetch_array($result1)){
$weekDay = $row4['day'];
$resultsArray[$weekDay][] = $row4['name'];
}
for ($x = 0; $x <= count($resultsArray); $x++) {
$sundayData = (!empty($resultsArray['Sunday'][$x]) ) ? $resultsArray['Sunday'][$x] : "";
$mondayData = (!empty($resultsArray['Monday'][$x]) ) ? $resultsArray['Monday'][$x] : "";
$tuesdayData = (!empty($resultsArray['Tuesday'][$x]) ) ? $resultsArray['Tuesday'][$x] : "";
$wednesdayData = (!empty($resultsArray['Wednesday'][$x]) ) ? $resultsArray['Wednesday'][$x] : "";
$thursdayData = (!empty($resultsArray['Thursday'][$x]) ) ? $resultsArray['Thursday'][$x] : "";
$fridayData = (!empty($resultsArray['Friday'][$x]) ) ? $resultsArray['Friday'][$x] : "";
$saturdayData = (!empty($resultsArray['Saturday'][$x]) ) ? $resultsArray['Saturday'][$x] : "";
echo "<tr>";
echo "<td>".$sundayData."</td>";
echo "<td>".$mondayData."</td>";
echo "<td>".$tuesdayData."</td>";
echo "<td>".$wednesdayData."</td>";
echo "<td>".$thursdayData."</td>";
echo "<td>".$fridayData."</td>";
echo "<td>".$saturdayData."</td>";
echo "</tr>";
}
?>
【问题讨论】:
-
如果不查看表中的示例数据和您希望输出格式的示例,以及您在变量
$sql4中使用的查询,将很难提供帮助。请编辑您的问题以显示一些示例数据库行以及输出的预期外观。 -
@MichaelBerkowski 补充了一些细节,谢谢
-
如果那是你的实际代码,你有一个明显的语法错误
-
@Fred-ii- 不,我的实际代码是从数据库中收集值并在我调试时打印到表中,只是想让它尽可能简单地解释,谢谢。
-
你如何期望while循环在字符串中执行?