2011-04-01 34 views
0

昨天我问了一个问题,这个问题已经解决了,我现在可以输出WHILE循环,其中2个结果在一行上,而不是1行上。这是我目前得到的代码:分离单个分组的WHILE循环结果

if(mysql_num_rows($result2) > 0) { 
$count=0; 
$day = 1; 
while ($row = mysql_fetch_array($result2, MYSQL_ASSOC)) { 
     echo "<b>"; 
     if ($day=='1') { echo "Sunday - ";} 
     else if ($day=='3') { echo "Monday - "; } 
     else if ($day=='5') { echo "Tuesday - "; } 
     else if ($day=='7') { echo "Wednesday - "; } 
     else if ($day=='9') { echo "Thursday - "; } 
     else if ($day=='11') { echo "Friday - "; } 
     else if ($day=='13') { echo "Saturday - "; } 
     else { echo "";} 

     if (($row["open"] == 0) && ($row["close"] == 0)) 
     { 
      echo "closed" 
     } 
     else 
     { 
      echo "</b>" . $row["open"] . "-" . $row["close"] . " &nbsp;&nbsp;&nbsp;&nbsp; "; 
      if ($count % 2 !=0){ echo "<br/><br/>";} 
     } 
     $count++; 
     $day++; 
} 
} else { 
     echo "Error"; 
} 

有了这个代码,当分支被关闭,则返回字“封闭”了两次,我需要它来只出现一次。这可能吗?

+0

你能显示副本你得到的输出是什么?例如...星期天 - 封闭式或 星期六 - 关闭 星期日 - 关闭 – Petet 2011-04-01 10:57:19

+0

星期日 - 08:00:00-12:30:00 13:30-16:30:00 星期一 - 09 :00:00-17:00:00 18:00:00-20:00:00 星期二 - 09:00:00-17:00:00 18:00-20:00:00 星期三 - 08:00:00-17:00:00 18:00:00-20:00:00 周四 - 09:00:00-17:00:18:00:00-20:00:00 星期五 - 08:00:00-17:00:00 18:00:00-21:00:00 星期六 - 封闭式关闭 – 2011-04-01 11:25:10

回答

0

上内$day模值只是测试:代替

if (($row["open"] == 0) && ($row["close"] == 0)) { 
    echo "closed"; 
} 

做:

if ($row["open"] == 0 && $row["close"] == 0) { 
    if ($day % 2 == 1) { 
     echo "closed"; 
    } 
} 
+0

嗨,我试了你的答案,但现在我只是得到输出'星期六 - 关闭00:00:00-00:00:00'。 – 2011-04-01 12:35:00

+0

我想我明白你的意思,看我更新的答案。 – Toto 2011-04-01 12:41:04

+0

感谢M42,这工作出色:) – 2011-04-01 13:03:51

0

它可能不是最优雅的解决方案,但我可能有一个变量$closed = false,如果分支关闭,它将被设置为true。然后只是测试$closed,如果它是假的,输出“关闭”。

+0

嗨,我该如何将此代码添加到我的代码中?我对所有的事情都会感到困惑。谢谢 – 2011-04-01 11:27:26

0

使用for循环:

for($i=0`;`$i`<`count(row)`;`$i++) 
{ 

}