当我们使用if语句时,我们的循环原因有问题,它只显示我们的一个标题而不是所有标题
这是我们的代码:
$sqldayshours = mysqli_query($link, "SELECT * FROM event;") or die("Kon de comments niet ophalen");
$event_time = mysqli_fetch_assoc($sqldayshours);
$title = $event_time['event_title'];
$day = $event_time['event_date_day'];
$uur = $event_time['event_date_hour'];
$ide = $event_time['event_id'];
$idsql="day".$day."uur".$uur;
for($rij=8;$rij<19;$rij++)
{
echo " < tr > ";
for($i=0;$i<8;$i++)
{
$id = "day".$i."uur".$rij;
echo " < td id=\"$id\" name=\"$id\" class=\"events\">";
if($i==0){
echo $rij.":00 ";
}else{
if($idsql == $id ){
echo $title;
}
}
echo "< /td >";
}`
echo "< /tr >";
}
答案 0 :(得分:0)
不知道这是否是你想要的,但你可以使用以下内容循环所有结果:
<?php
while($event_time = mysqli_fetch_array($sqldayshours) ) {
echo $event_time['title']; // or whatever you need to do.
}
//or alternatively
while($event_time = mysqli_fetch_array($sqldayshours) ) {
$results[] = $event_time;
}
print_r($results);
这使您可以循环搜索结果并使用它们执行所需的操作。
第二个将结果推送到一个数组,然后你可以使用while循环之外的值或你想做的任何事情。
答案 1 :(得分:0)
<?php
$sqldayshours = mysqli_query($link, "SELECT * FROM event;") or die("Kon de comments niet ophalen");
while($event_time = mysqli_fetch_array($sqldayshours) ) {
for($rij=8;$rij<19;$rij++)
{
echo " < tr > ";
for($i=0;$i<8;$i++)
{
$id = "day".$i."uur".$rij;
echo " < td id=\"$id\" name=\"$id\" class=\"events\">";
if($i==0){
echo $rij.":00 ";
}else{
if($idsql == $id ){
echo $event_time['title'];
}
}
echo "< /td >";
}`
echo "< /tr >";
}
}
?>
答案 2 :(得分:0)
<?php
$sqldayshours = mysqli_query($link, "SELECT * FROM event;") or die("Kon de comments niet ophalen");
//loop all 18hours of one day
for($hour=8;$hour<19;$hour++)
{
echo "<tr>";
//loop all 7days
for($day=0;$day<8;$day++)
{
//save the current time in the loop
$current_time = "day".$day."uur".$hour;
//loop all the events in the query and check for a valid one
while($one_event = $sqldayshours->fetch_array())
{
$title = $one_event['event_title'];
$day2= $one_event['event_date_day'];
$hour2= $one_event['event_date_hour'];
$id2 = $one_event['event_id'];
$idsql = "day".$day2."uur".$hour2;
echo "<td id='$current_time' name='$current_time' class='events'>";
if($day == 0)
{
echo $hour.":00";
echo "< /td >";
}
else if($current_time == $idsql)
{
echo $title;
echo "< /td >";
}
else
{
echo "< /td >";
}
}
echo "<tr>";
}
}
?>
我转过身来。这可能会在服务器上承担更高的负载,但对于您生成的每一行,他会检查它们是否是数据库中的有效条目,否则,他继续。 希望我有意义。我没有测试过这个,只是写了我的想法。但你可能会在其中找到灵感或其他东西。
我也试图遵循你的逻辑......
Madjdc。