Ho fatto uno script che mi permette di estrarre dati dal database e ordinarli in div divisi per tre colonne, ma l'ultimo record non lo mostra , perchè?

Codice PHP:
   <?php //estraiamo il dato che vogliamo impaginare 

if (!$db->Query("SELECT * from menuapp_ristorante WHERE idCategoriaAPP={$_GET['page']} AND idAzienda={$_SESSION['company']} ORDER BY nome")) echo $db->Kill();

$menu $db->Row();

$contolerighe=$db->RowCount();

//se ci sono dati impagianiamoliif($db->RowCount() >= 0 ){

 
echo "<div class='row'>";

//settiamo la varibile per l'incolonnamento

 
$cols 3;

 
$rows=0;

  while (
$menu $db->Row()) {

    
$rows++;
    
    echo 
'<div class="col s4">

            <div class="content">

                         <img src="img/icone_cibo/'
.$categorie_menu->icona.'" style="width:50px" alt=""/>

               <h6><a href="#">'
.$menu->nome.'</a></h6>

               <div class="price">

                '
.$menu->prezzo.'

                 </div>

                <a href="index.php?page='
.$_GET['page'].'&idMenuApp='.$menu->idMenuApp.'" class="btn button-default">AGGIUNGI</a>

              </div>

         </div>'
;

  
//se il numero delle righe e delle

//colonne è uguale... 
         
if ($rows==$cols) {     

  echo 
"</div><div class='row'>";  
          
$rows=0;    

  } 

 }

 echo 
"</div>";

}

   
?>