Visualizzazione dei risultati da 1 a 6 su 6

Discussione: aiuto x query

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    250

    aiuto x query

    ciao a tutti
    ho un problema con una query che non riesco a risolvere.
    Ho una lista di record.
    Dovrei creare gruppi di 6 record all'interno di un div.

    Esempio
    ho 20 record, il risultato dovrebbe essere questo:
    <div> 1 - 2 - 3 - 4 - 5 - 6 </div>
    <div> 7 - 8 - 9 -10 -11 -12 </div>
    <div> 13 - 14 - 15 - 16 - 17 - 18 </div>
    <div> 19 - 20 </div>

    Praticamente all'interno del cliclo while
    dovrei inserire i div a gruppi di 6.

    Qualcuno sa' aiutarmi?


    Codice PHP:
    $s="SELECT * FROM articoli  ORDER BY ordine DESC";
    $r=mysql_query($s);
    $tot=mysql_num_rows($r);
    while(
    $d=mysql_fetch_array($r)){



  2. #2

    Re: aiuto x query

    io farei così:

    Codice PHP:
    $s="SELECT * FROM articoli  ORDER BY ordine DESC";
    $r=mysql_query($s);
    $tot=mysql_num_rows($r);

    $div 1;
    while(
    $d=mysql_fetch_array($r))
         {
         if(
    $div==1)
              {
               echo 
    "<div>";
               }
         echo 
    $d['campo_db'];
         if(
    $div==6)
              {
               echo 
    "</div>";
               
    $div 0;
               }  
          
    $div++;  
          } 

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    250
    ciao!
    avevo pensato anch'io ad una soluzione così però il problema ce l'ho quando non chiudo il ciclo di 6.
    Se alla fine non termino con i 6 record, non trovo la chiusura del div e mi va in errore l'html.

  4. #4

    Re: Re: aiuto x query

    Non è il massimo dell'eleganza... però...
    Codice PHP:
    $s="SELECT * FROM articoli  ORDER BY ordine DESC";
    $r=mysql_query($s);
    $tot=mysql_num_rows($r);

    $div 1;
    while(
    $d=mysql_fetch_array($r))
         {
         if(
    $div==1)
              {
               echo 
    "<div>";
               }
         echo 
    $d['campo_db'];
         if(
    $div==6)
              {
               echo 
    "</div>";
               
    $div 0;
               }  
          
    $div++;  
          }
    if(
    $div<=6){ echo "</div>"; } 

  5. #5
    potreste usare l'operazione modulo cosi da verificare se una divisione per 6 da resto o meno ... e se non ne da vuol dire che è il caso di far scattare la nuova riga

    ovviamente 0 / 6 da resto zero quindi va controllato che l'indice sia maggiore di zero prima di chiudere la riga precedente ed aprire la nuova

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    250
    Grazie ragazzi!
    Ho risolto tutto calcolando anche il totale articoli, aggiungendo una seconda variabile progressiva in modo tale che alla fine chiudo il div solo quando un articolo è minore di 6 e corrisponde al totale degli articoli! Giusto?!?
    Funziona!!!! Grasias!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.