0

次のクエリがあります。大人の人数が10人未満の場合に時間を表示したい。

$result = mysql_query("SELECT sum(Adult) AS Number1, Time FROM orders WHERE confirmed = 'Y' and BookDate = '2013-04-01' GROUP BY Time");

while($row = mysql_fetch_array($result)) {

if ($row['Number1'] < '10')
echo '<div class="result">'.$row['Time'].' ('.$row['Number1'].')</div>';

}

こうやって出てくるので…

<div class="result">18:00:00 (8)</div>
<div class="result">18:30:00 (5)</div>
<div class="result">19:00:00 (6)</div>

ただし、18:15:00 には大人が 0 人いることも示したいと思います。このようなifステートメントをいくつか追加してみました

if (($row['Time'] == '18:15:00') and ($row['Number1'] < '10')) {
echo '<div class="result">'.$row['Time'].' ('.$row['Number1'].')</div>';
}
else {
echo '<div class="result">18:15:00 (0)</div>';
}

しかし、それはループし続けます。誰かが私が間違っているところを教えてもらえますか?

4

3 に答える 3

0

変化する:-

if (($row['Time'] == '18:15:00') and ($row['Number1'] < '10')) 
{
echo '<div class="result">'.$row['Time'].' ('.$row['Number1'].')</div>';
}
else 
{
echo '<div class="result">18:15:00 (0)</div>';
}

if ($row['Number1'] < '10') 
{
echo '<div class="result">'.$row['Time'].' ('.$row['Number1'].')</div>';
}
elseif(($row['Time']) == '18:15:00') 
{
echo '<div class="result">18:15:00 (0)</div>';
}
于 2013-03-30T07:00:47.100 に答える
0

breakループ ステートメントから抜け出したい場合は、次のbreakステートメントを使用できます。

while(condition){
    if(conditionMet){
        break;
    }
}
于 2013-03-30T00:58:12.587 に答える
0

あなたが何をしようとしているのかよくわかりませんが、おそらくこれがそれです:

if ($row['Number1'] < '10') {
  echo '<div class="result">'.$row['Time'].' ('.$row['Number1'].')</div>';
} elseif ($row['Time']) == '18:15:00') {
  echo '<div class="result">18:15:00 (0)</div>';
}
于 2013-03-30T01:23:16.997 に答える