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

    [MySql] dividere/raggruppare record

    Ciao a tutti,
    vi spiego il mio problema.

    La tabella details è così composta:

    id | art_id |
    1 | 1
    2 | 1
    3 | 1
    4 | 1
    5 | 1
    6 | 2
    7 | 2
    8 | 2
    9 | 2
    10 | 3
    11 | 3
    12 | 3

    come stampo a video i records raggruppandoli per "art_id"...cioè vorrei che gli articoli appartenenti a art_id=1 venissero stampati nella primo rigo della tabella, mentre art_id=2 in una nuovo rigo e così via....
    C'è un modo per ottenere ciò attraverso una query a mysql?

    spero di essere stato chiaro
    Visita il mio Sito Web: http://www.distefanogiuseppe.it

  2. #2
    forse non ho capito... ORDER BY art_id ?!

  3. #3
    no...cerco di essere piu chiaro...

    i primi 5 appartengono all'id 1
    i successivi 4 appartengono all'id 2
    mentre gli ultimi 3 appartengono all'id 3.
    Vorrei stampare a video i primi 5 risultati nel primo rigo di una tabella (in <tr><td>qui</td></tr> per intederci)
    mentre i successivi 4 nell prox rigo e cosi via....
    Visita il mio Sito Web: http://www.distefanogiuseppe.it

  4. #4
    ....qualke link interessante....niente?
    Visita il mio Sito Web: http://www.distefanogiuseppe.it

  5. #5
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    hai gia le query o ti faccio anche quelle? e' facile ma vorrei sapere qualcosa di piu'. se hai gia le query o risultati o se e' solo un prob creare il cilco per la stampa su una riga.
    La vita e' uno switch();

  6. #6
    no, nn ho ancora le query...il problema è proprio creare il ciclo per la stampa.
    Faccio ancora un esempio per essere piu chiaro:
    vorrei raggruppare su ogni nuovo rigo i risultati ke appartengono all'id 1 poi quelli all'id 2 e infine quelli ke appartengono all'id 3.

    La tabella è così:

    id | art_id |
    1 | 1
    2 | 1
    3 | 1
    4 | 1
    5 | 1
    6 | 2
    7 | 2
    8 | 2
    9 | 2
    10 | 3
    11 | 3
    12 | 3
    Visita il mio Sito Web: http://www.distefanogiuseppe.it

  7. #7
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    $select= "select * from details";
    $query = mysql_query($select);
    $i=0;
    $tot_righe= mysql_num_rows($query);

    echo "<table>";
    echo "<tr>";
    echo "<td>risultati per art id 1</td>";
    echo "<td>";

    while($dati = mysql_fetch_array($query))
    {
    $i++;
    $articolo[$i] = $dati['id'];
    $categoria[$i] = $dati['art_id'];
    }

    for($i=1;$i>=$tot_righe;$i++)
    {
    if($categoria[$i] == 1) {echo $articolo[$i]."&nbsp";}
    }
    echo "</td></tr>"
    echo "<tr>";
    echo "<td>risultati per art id 2</td>";
    echo "<td>";
    for($i=1;$i>=$tot_righe;$i++)
    {
    if($categoria[$i] == 2) {echo $articolo[$i]."&nbsp";}
    }
    echo "</td></tr>"
    echo "<tr>";
    echo "<td>risultati per art id 2</td>";
    echo "<td>";
    for($i=1;$i>=$tot_righe;$i++)
    {
    if($categoria[$i] == 3) {echo $articolo[$i]."&nbsp";}
    }
    echo "</td></tr>"
    echo "</table>"
    La vita e' uno switch();

  8. #8
    ti ringrazio....mi chiedevo se si potesse fare semplicemente una query ke suddivida senza creare cicli for.
    Finchè gli articoli sono 3 nn c'è problema ma gli articoli in realtà saranno almeno 400...
    Visita il mio Sito Web: http://www.distefanogiuseppe.it

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.