yanike
yanike

Reputation: 847

Break mysql_num_rows into 6x4

Pretty much I have a code like below that I'm trying to add </tr><tr> to after every 6 results.

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>";

Upvotes: 0

Views: 61

Answers (1)

delphist
delphist

Reputation: 4549

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:

Whats means if(++$i % 6 == 0) code:

  1. ++$i equals $i = $i + 1;
  2. $i % 6 means $i modulo 6
  3. If $i modulo 6 equals 0 then echo </tr><tr>

So we can write it as:

$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

Upvotes: 1

Related Questions