Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    MySQL - dividere risultati ordinati

    Ho una tabella fatta più o meno così:

    codice:
    nome       parametro
    tizio      A
    caio       B
    sempronio  A
    Ho fatto una query sul database del tipo
    $sql = "SELECT * FROM tabella ORDER BY parametro";

    poi la spiego utilizzando mysql_fetch_array con un ciclo while.

    Il mio obiettivo è quello di inserire del testo aggiuntivo quando il parametro cambia (nel nostro caso da A a B).

    Visualizzando graficamente

    codice:
    tizio - A
    sempronio - A
    -- testo aggiuntivo --
    caio - B
    come risolvereste?

  2. #2
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    1) ordini per parametro
    2) cicli tenendo traccia del parametro corrente
    3) ad ogni ciclo controlli che nn sia cambiato nulla
    3.a) se è cambiato aggiungi il testo che vuoi e salvi il cambiamento
    3.b) se nn è cambiato nulla continui il ciclo senza aggiungere il testo e lasciando la "traccia" attuale del parametro

    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  3. #3
    come faccio a tenere traccia del parametro nel ciclo?

  4. #4
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    usi una variabile d'appoggio dove salvi il parametro corrente e lo sostituisci quando durante i vari ciclaggi ti accorgi che è cambiato... esempio:

    $traccia=false;
    while($row=....){
    if ($traccia!=$row['parametro']){
    echo "testo aggiuntivo";
    $traccia=$row['parametro'];
    }
    .
    .
    .
    }

    naturalmente è solo una base che va adattata alle tue esigenze.. vedi tu..

    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  5. #5
    ok, vedo come adattarlo.
    grazie della'aiuto!

  6. #6
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    figurati...

    cmq è roba di poco.. tipo questa versione sputa il testo aggiuntivo anke al primo giro.. basta spaccare in due i controlli e porlo uo ad inizio ed uno alla fine... poi la traccia va popolata magari diversamente ma al momento è l'unica sol che mi è venuta in mente...

    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  7. #7
    Ok, sono di nuovo qui.
    Ho utilizzato per creare una riga aggiuntiva in una tabella che mostra i risultati.
    Adesso però mi manca un controllo che stampi il tag di chiusura '</table>' se al successivo loop del ciclo 'while' il parametro cambia...

    Come faccio???

  8. #8
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    Codice PHP:
    $traccia=false;
    while(
    $row=....){
    if (
    $traccia!=$row['parametro']){
    echo 
    "</tr></table>";
    $traccia=$row['parametro'];
    }
    .
    .
    .

    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  9. #9
    Originariamente inviato da luke83
    Codice PHP:
    $traccia=false;
    while(
    $row=....){
    if (
    $traccia!=$row['parametro']){
    echo 
    "</tr></table>";
    $traccia=$row['parametro'];
    }
    .
    .
    .

    Questo è esattamente il codice che mi avevi già dato e che ho già utilizzato. Ma ho bisogno di qualcosa di più complesso; provo a spiegartelo con uno schema.

    Ecco la mia tabella:
    codice:
    tizio       A
    caio        C
    sempronio   A
    luigi       B
    questo è il mio obiettivo:

    codice:
    -- intestazione tabella --
    tizio        A
    sempronio    A
    -- chisura tabella --
    -- intestazione tabella --
    luigi        B
    -- chisura tabella --
    -- intestazione tabella --
    caio         C
    -- chiusura tabella --
    Come posso fare???


  10. #10
    Originariamente inviato da tredueotto
    Questo è esattamente il codice che mi avevi già dato e che ho già utilizzato. Ma ho bisogno di qualcosa di più complesso; provo a spiegartelo con uno schema.

    Ecco la mia tabella:
    codice:
    tizio       A
    caio        C
    sempronio   A
    luigi       B
    questo è il mio obiettivo:

    codice:
    -- intestazione tabella --
    tizio        A
    sempronio    A
    -- chisura tabella --
    -- intestazione tabella --
    luigi        B
    -- chisura tabella --
    -- intestazione tabella --
    caio         C
    -- chiusura tabella --
    Come posso fare??? Devo aggiungere un "intestazione tabella" quando cambia il paramtro(anche alla prima riga) e un "chisura tabella" quando il rigo dopo cambia il parametro (anche l'ultima riga)


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.