昨天我问了一个已经解决的问题,我现在可以输出WHILE循环,其中2个结果在一行上,而不是一行上的1。这是我目前的代码:
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"] . " ";
if ($count % 2 !=0 ){ echo "<br/><br/>";}
}
$count++;
$day++;
}
} else {
echo "Error";
}
使用此代码,当分支关闭时,它会返回两次“关闭”一词,我只需要它出现一次。这可能吗?
答案 0 :(得分:0)
它可能不是最优雅的解决方案,但我可能会有一个变量$closed = false
,如果分支关闭,它将设置为true。然后只测试$closed
,如果它为假,则输出“关闭”。
答案 1 :(得分:0)
只需测试$day
中的值的模数:
取代:
if (($row["open"] == 0) && ($row["close"] == 0)) {
echo "closed";
}
做:
if ($row["open"] == 0 && $row["close"] == 0) {
if ($day % 2 == 1) {
echo "closed";
}
}
答案 2 :(得分:0)
使用for
循环:
for($i=0`;`$i`<`count(row)`;`$i++)
{
}