Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591

    visualizzare dati da join correttamente

    scusate il titolo ORRENDO, ma non me ne è venuto uno migliore, calcolando anche l'orario..

    sto facendo per una amica un gestionale per un negozio in cui inserire gli ordini dei clienti.

    dal lato DB è tutto ok, ho creato:
    tabella anagrafica: contiene le info
    tabella prodotti: contiene le info sui prodotti
    tabella ordini: contiene il riferimento della anagrafica (da recuperare con una join..) e la data
    tabella appoggio ordini: contiene i riferimenti dei prodotti legati dell'ordine e la quantità di prodotto acquistato. questo mi aiuta anche a stilare delle statistiche per quanta roba vende.
    quello che non riesco a fare con PHP è ciclare appunto i dati per visualizzarli correttamente.
    cioè la query è corretta, ma i risultati non riesco a vederli bene GRAFICAMENTE.
    Codice PHP:
    <?php do { ?><tr>
        <td> <?php    echo $row_Rec_ordini['titolo']; ?> <?php echo $row_Rec_ordini['cognome']; ?> <?php echo $row_Rec_ordini['nome']; ?>    <br />Orario: <?php echo substr($row_Rec_ordini['data_ordine'],11,5); ?><br /><?php echo $row_Rec_ordini['telefono'];      }      ?></td>
      </tr>
     <tr>    <td ><?php echo $row_Rec_ordini['nome_prodotto']; ?> -> <?php echo $row_Rec_ordini['quantita']; ?> kili</td>     </tr><tr>    <td><hr /></td>  </tr>
    in questo modo, ogni ordine che magari ha 4-5 prodotti, mi fa visualizzare SEMPRE ANCHE la persona che lo acquista!!
    esempio:
    sig. telegio mantini
    Orario: 12:00
    tortellini -> 0.5 kili
    sig. telegio mantini
    Orario: 12:00
    tagliatelle -> 4 kili
    sig. telegio mantini
    Orario: 12:00
    strozzapreti -> 0.7 kili

    mentre ovviamente io vorrei visualizzare
    sig. telegio mantini
    Orario: 12:00
    tagliatelle -> 4 kili
    tortellini -> 0.5 kili
    strozzapreti -> 0.7 kili

    come posso fare?!

    grazie a chiunque mi darà una mano

  2. #2
    Puoi adottare due soluzioni differenti:

    1. Fai due query separate nel senso che prima estrai i dati dall'anagrafica e poi per ciascuna persona visualizzi il nome e cognome ed estrai gli ordini di quella persona.

    2. Fai come fai adesso ma in fase di visualizzazione stampi nome e cognome una sola volta utilizzando un if ed un flag booleano. Visualizzi il nome e cambi stato al flag in modo che al ciclo successivo la condizione sia falsa. Poi, rimetti il flag a true solo se il nome cambia (utente successivo)
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    voglio fare la seconda (possono esserci 40 ordini in un giorno e questo richiederebbe 40+1 query.. decisamente troppe...), ma è proprio quello che non riesco a fare..
    ok ok.. calma e gesso.
    ho capito cosa non riesco a fare, e devo adottare un'altra tecnica per forza: in pratica RIESCO A FARE quello di cui sopra, e che mi dici tu nel punto 2, ma vorrei mettere un HR quando c'è l'ultimo record in modo da separare gli ordini. ma ovviamente l'applicazione non sa quale sarà il prossimo id_ordine, quindi mette l'HR nel record successivo a quello che mi interessa.

    Grazie dell'attenzione, ho risolto mettendo la condizione per l'HR all'inizio e la creazione dell'hr ovviamente alla fine!!!!

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.