Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    risultati query divisi in gruppi

    Ciao,
    eseguo una query su db mysql e tramite un ciclo estraggo tutti i record.
    Ecco lo script:

    include 'connessione.php';
    $query = "SELECT id,nome FROM auto ORDER BY rilevanza";
    $result = mysql_query($query, $myconn) or die('Errore...');
    //conto il numero di occorrenze trovate nel db
    $numrows = mysql_num_rows($result);
    //se il database è vuoto lo stampo a video
    if ($numrows==0){
    echo "Database vuoto!";
    }
    else
    {
    echo '<div>';
    while($numrows=mysql_fetch_array($result)) {
    $id = $numrows[0];
    $nome = $numrows[1];
    //Stampo il risultato
    echo '<div class="box">';
    echo $nome;
    echo '</div>';
    }
    echo '</div>';
    }

    Ora vorrei dividere i risultati del ciclo in gruppi di 3, sempre rispettando l'order by in modo da avere una situazione tipo:

    <ul>[*]
    risultato 1
    risultato 2
    risultato 3
    [*]
    risultato 4
    risultato 5
    risultato 6

    ecc ecc

    E' possibile realizzare questa cosa?
    Quale è il modo migliore per procedere?

    Ciao a tutti!

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    Codice PHP:
    else

      echo 
    '<div>';

      
    $numero=3;
      
    $i=0;
      while(
    $numrows=mysql_fetch_array($result)) {
         
    $id $numrows[0];
         
    $nome $numrows[1]; 
         
    //Stampo il risultato
         
    if($i==0)
         {
               echo 
    "<ul>";
         }
         echo 
    "[*]".$nome."";
         
    $i++;
         if(
    $i==$numero)
         {
               echo 
    "[/list]";
               
    $i=0;
         }
         
      } 
      echo 
    '</div>';


  3. #3
    poi non ho capito bene tu vuoi raggruppare l'output in che modo ?

    EDIT: niente risolto

  4. #4
    Grazie mille bstefano!
    E' bastato adattare il tuo script perchè mi ero spiegato male;
    la mia esigenza era quella di aprire un[*], inserire tre record estratti e poi chiudere .

    Ho risolto spostando <ul> e la sua chiusura fuori dal ciclo.

    Posto il codice e ancora grazie, stavo impazzendo per risolvere questo problema...

    <?php
    include 'connessione.php';
    $query = "SELECT id,nome FROM auto ORDER BY rilevanza";
    $result = mysql_query($query, $myconn) or die('Errore...');
    $numrows = mysql_num_rows($result);
    if ($numrows==0){
    echo "Database vuoto!";
    }
    else
    {
    echo '<div>';
    echo '<ul>';
    $numero=3;
    $i=0;
    while($numrows=mysql_fetch_array($result)) {
    $id = $numrows[0];
    $nome = $numrows[1];
    //Stampo il risultato
    if($i==0)
    {
    echo "[*]";
    }
    echo "<div>";
    echo "$nome";
    echo "</div>";
    $i++;
    if($i==$numero)
    {
    echo "";
    $i=0;
    }

    }
    echo "[/list]";
    echo '</div>';
    }
    ?>

    Un'altra domanda:
    è corretto inserire un div dentro li?

    Ciao!

  5. #5
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    prima di chiudere l'ul io aggiungerei un controllo nel caso i record non siano multipli di 3
    Codice PHP:
    <?php
        
    include 'connessione.php';
        
    $query "SELECT id,nome FROM auto ORDER BY rilevanza";
        
    $result mysql_query($query$myconn) or die('Errore...');
        
    $numrows mysql_num_rows($result);
        if (
    $numrows==0){
           echo 
    "Database vuoto!";
        }
        else 
       {  
          echo 
    '<div>'
          echo 
    '<ul>';
         
    $numero=3
         
    $i=0
         while(
    $numrows=mysql_fetch_array($result)) { 
            
    $id $numrows[0]; 
            
    $nome $numrows[1];  
            
    //Stampo il risultato 
            
    if($i==0
            { 
               echo 
    "[*]"
            } 
            echo 
    "<div>";
           echo 
    "$nome";
           echo 
    "</div>";
           
    $i++; 
           if(
    $i==$numero
           { 
                echo 
    "";
                
    $i=0
           } 
       
       }
      if(
    $i!=0)
      {
          echo 
    "";
      }
      echo 
    "[/list]"
      echo 
    '</div>'
    }
    ?>
    Un'altra domanda:
    è corretto inserire un div dentro li?

    Ciao!
    SI non c'è niente di male

  6. #6
    Ok, cosi' è perfetto!
    Di nuovo grazie mille!

    Ciao

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.