Originariamente inviato da jun_shindo
Codice PHP:
$Sql sprintf(
"select id, layout, titolo from contenuti where pagina = '%s'"
$Result ExecSql($Sql); //una mia funzione che legge la query
if(mysql_num_rows($Result) > 0)
{
  while (
$Row mysql_fetch_array($Result))  //per tutte le righe del menu
  
{
    echo 
'
creo header ' 
$Row['layout'];
    while (
$Result['layout'] == $OldLayout//finchè non cambia il layout, loop del menu attuale
    
{
      echo 
'
layout: ' 
$Row['layout'] . ' - titolo:' $Row['titolo'];
      
$OldLayout $Result['layout'];  //salva il vecchio layout per controllarlo al prossimo ciclo
      
$Row mysql_fetch_array($Result);  //avanza alla prossima riga
    
}
    echo 
'
creo footer ' 
$Row['layout'];
  }

Secondo me l'errore che commetti è che il fetch_array prende un record alla volta ad ogni ciclo del while, non serve forzarlo nuovamente alla fine del ciclo stesso.