Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di ilpiubello
    Registrato dal
    May 2000
    Messaggi
    2,685

    Raggruppare risultati per campo db

    Ciao,
    premetto che non sono molto preparato in php....

    Estrapolo dei dati da un db tramite un ciclo "while": nome,immagine,data,testo.

    Attualmente il risultato è questo:

    pippo
    immagine1
    titolo1

    pippo
    immagine2
    titolo2

    pippo
    immagine3
    titolo3

    topolino
    immagine1
    titolo1
    ....


    Io vorrei farei in modo invece di raggruppare per nome i risultati.

    pippo
    -------
    immagine1
    titolo1

    immagine2
    titolo2
    .....

    topolino
    ---------
    immagine1
    titolo1
    .......

    Ma non so come fare

    Mi date una mano? Grazie.
    FaX

  2. #2
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    $sql = SELECT from tua_tabella group by nome
    provala
    ¿Hasta la pasta?

  3. #3
    dentro il ciclo while fai una cosa tipo:

    Codice PHP:
    {
      if(
    $row['nome'] == $nomeprecedente) {
        echo 
    $row['immagine'].' - '.$row['data'].' - '.$row['testo'].'
    '
    ;
      } else {
        echo 
    $row['nome'].'
    '
    ;
      }
      
    $nomeprecedente $row['nome'];


  4. #4
    Utente di HTML.it L'avatar di ilpiubello
    Registrato dal
    May 2000
    Messaggi
    2,685
    Intanto grazie.

    Purtroppo non sono riuscito ad ottenere quello che volevo...

    Ho provato la query sql e il risultato è che mi fa vedere solo la prima immagine associata a quel nome.

    Mentre utilizzanto l'if il risultato è che mi perde alcuni record: in alcuni casi mi stampa solo il nome e non le immagini correlate.
    Codice PHP:
        $query='select * from tabella_db order by nome asc';

        
    m_query($query,$res,$rows,$field);

        
    $foto='';
        if (
    $rows == 0){
            echo 
    '<div class="box">

    Nessuna foto in archivio.</p></div>'
    ;
        } else {
            while(
    m_fetch_array($res,$record)){
                if(
    $record['autore'] == $autoreprecedente) {
                    echo 
    elenco_fotografie($record,$rows);
                } else {
                    echo 
    '<div class="interruzione"></div>'."\n";
                    echo 
    "Autore: ".$record['autore']."\n";
                    echo 
    "<hr/>\n";
                }
                
    $autoreprecedente $record['autore'];
            }
        } 
    la funzione elenco_fotografie(); mi stampa semplicemente, formattate, le informazioni "immagine", "data","titolo","autore".
    FaX

  5. #5
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    Ho provato la query sql e il risultato è che mi fa vedere solo la prima immagine associata a quel nome.
    group by nome.....
    ¿Hasta la pasta?

  6. #6
    Sì... prova così:

    Codice PHP:
    $query='select * from tabella_db order by autore asc'

        
    m_query($query,$res,$rows,$field); 

        
    $foto=''
        if (
    $rows == 0){ 
            echo 
    '<div class="box">

    Nessuna foto in archivio.</p></div>'

        } else { 
            while(
    m_fetch_array($res,$record)){ 
                if(
    $record['autore'] != $autoreprecedente) {
                  echo 
    '<div class="interruzione"></div>'."\n"
                  echo 
    "Autore: ".$record['autore']."\n"
                  echo 
    "<hr/>\n";
                }
                echo 
    elenco_fotografie($record,$rows);
                
    $autoreprecedente $record['autore']; 
            } 
        } 
    ho modificato anche la query mettendo "order by autore"

  7. #7
    Utente di HTML.it L'avatar di ilpiubello
    Registrato dal
    May 2000
    Messaggi
    2,685
    Si, polinet, anche se nel codice c'è "order by" la prova l'ho fatta anche con "group by".

    Ora provo il nuovo codice
    FaX

  8. #8
    Utente di HTML.it L'avatar di ilpiubello
    Registrato dal
    May 2000
    Messaggi
    2,685
    E' perfetta


    Grazie mille.
    FaX

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.