Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922

    [mysql] recuperare solo campi contenenti valori

    Ciao a tutti. Avrei bisogno del vostro aiuto.
    Ho una tabella relativa ai trasferimenti da alcune città che contiene sempre due campi prezzo, uno relativo ad auto ed uno a mini-bus. L'eccezione è costituita da Ajaccio per la quale è previsto un terzo campo prezzo.
    Teoricamente non dovrei avere problemi. Mi basterà specificare diversamente i campi da recuperare per la relativa query ma mi è sorta la curiosità se fosse possibile, utilizzando sempre la stessa query, recuperare solo i campi che contengono informazioni, quindi ad esempio recuperare tutti i record con trasferimento da Olbia senza che mi venga visualizzato il campo mezzo che è vuoto.
    Ciao e grazie.

    codice:
    idTrasf citta            auto    mini_bus  mezzo   trasferimento_da
    1        Palau            81.50   123.70              Olbia
    2        Golfo Aranci     47.50   75.70               Olbia
    3        Porticcio        51.25   56.25     63.75     Ajaccio
    4        Sagone           100.00  107.50   127.50     Ajaccio
    5
    6

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Per adesso ho risolto così
    if ($row['mezzo'] != "")
    stampo la colonna

    Ma mi chiedevo se esista una qualche funzione di mysql che faccia questo lavoro al posto mio. Chiedo troppo?

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Scusate ancora. Altro dubbio.
    Dopo aver posto quella semplice verifica per stampare la colonna mi è sorto un altro problema.
    In pratica dovrei fare una verifica analoga per le intestazioni di colonna.
    Il fatto è che la query la eseguo con il while e nell'intestazione ancora non l'ho fatta. Sono quindi costretto a far eseguire la stessa query 2 volte, al massimo mettendo come parametro limit 1 nella prima query o c'è una via migliore?

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Nessuno che sappia suggerirmi un'alternativa all'uso di due query? :master:

  6. #6
    non ho ben capito la natura del tuo problema, tu vuoi che, estraendo i dati per Olbia, non venga estratto il campo "mezzo" che risulterebbe vuoto, giusto?

    La mia controdomanda è: te l'ha prescritto il medico di estrarre quel campo quando non ti serve?
    Voglio dire che la query SELECT la scrive il tuo programma, basta fargli scrivere una query che non preveda l'estrazione di quel campo.

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ciao skidx. Innanzitutto grazie per l'interessamento.
    Allora, no, non me l'ha prescritto il medico. Tento di spiegarmi meglio. Immagina che io abbia una pagina con l'elenco delle città da cui avviene il trasferimento. Cliccandoci sopra invio ad un'altra pagina l'identificativo di quella città, quindi Olbia, Ajaccio, ecc.
    A questo punto in base all'id recuperato eseguo la mia query e il problema si pone nel caso voglia usare una query standard.
    Certo potrei anche fare uno switch impostando la query in base alla città ma mi pongo il problema in prospettiva di futuri inserimenti che non richiedano la modifica del codice.

  8. #8
    ho capito. In questo caso non ti servono due query, ne farai una sola, prima di stampare l'intera tabella (compresa intestazione).

    Se ti trovi alla prima iterazione del ciclo, stamperai anche l'intestazione, facendo inoltre il controllo sul campo in questione.

    Come si fa a sapere quando sei nella prima iterazione di un ciclo?
    Inizializzi una variabile fuori (che userai come controllo) e la cambi subito dopo il primo "giro".

  9. #9
    ti posto qualche riga di pseudocodice, per rendere l'idea:

    // esecuzione query
    $first = TRUE;

    while($row = bla bla bla) //ciclo dei risultati della query
    {
    if($first)
    {
    $first = FALSE;
    // stampa intestazione
    }
    // stampa i dati del record

    }

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Grazie skidx, il tuo pseudocodice è stato provvidenziale. Stato per rispondere al tuo messaggio precedente proprio per dirti che avevo bisogno di un'imbeccata extra. Domani provo e ti faccio sapere. Grazie ancora, sei sempre molto gentile.

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.