Разбейте mysql_num_rows на 6x4 - PullRequest
       6

Разбейте mysql_num_rows на 6x4

0 голосов
/ 27 февраля 2011

Практически у меня есть код, подобный приведенному ниже, к которому я пытаюсь добавить </tr><tr> после каждых 6 результатов.

echo "<table><tr>";

$query="SELECT * WHERE id='$id' ORDER BY date ASC";
$result=mysql_query($query);

if (mysql_num_rows($result) > 0) {
while($rts = mysql_fetch_array($result)){

$cdata1 = $rts['cdata1'];
$cdata2 = $rts['cdata2'];

echo "<td>$cdata1 and $cdata2</td>";

}
}else{
echo "<td>no results</td>";
}
echo "</tr></table>";

1 Ответ

1 голос
/ 27 февраля 2011
echo "<table><tr>";

$query="SELECT * WHERE id='$id' ORDER BY date ASC";
$result=mysql_query($query);

$i = 0;

if (mysql_num_rows($result) > 0) {
while($rts = mysql_fetch_array($result)){

$cdata1 = $rts['cdata1'];
$cdata2 = $rts['cdata2'];

echo "<td>$cdata1 and $cdata2</td>";

if(++$i % 6 == 0) {
   echo '</tr><tr>';
}

}
}else{
echo "<td>no results</td>";
}
echo "</tr></table>";

UPD:

Что значит if(++$i % 6 == 0) код:

  1. ++$i равно $i = $i + 1;
  2. $i % 6 означает $i modulo 6
  3. Если $ i по модулю 6 равно 0, то echo </tr><tr>

Таким образом, мы можем записать это как:

$i = $i + 1;
if($i % 6 == 0) {
   echo '</tr><tr>';
}

http://php.net/manual/en/internals2.opcodes.mod.php

http://php.net/manual/en/language.operators.increment.php

...