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

    [PHP + html] Etichette droplist invece del valore

    Ciao a tutti,
    ho il seguente problema: all'interno di una pagina php ho varie droplist le cui etichette corrispondono a valori numerici. Ogni qual volta scelgo quindi una etichetta sul mio database vengono memorizzati i rispettivi valori delle etichette.
    Quando vado a visualizzare nell'apposita pagina di recupero dati inseriti quello che è stato scelto dall'utente però, mi vengono fuori i valori e non le etichette!
    Se io ad esempio nella lista PIZZA PREFERITA ho: Margherita (valore 2), Marinara (valore 3), Capricciosa (valore 4) e scelgo la Margherita; quando poi mi vado a riaprire quella pagina che legge i valori selezionati dall'utente, nella droplist invece di vedere selezionata l'etichetta MARGHERITA vedo il valore e cioè "2".
    Come posso ovviare a questo inconveniente?
    Io di solito memorizzo le scelte sul database in due modi:
    codice:
    <select name="Pazienza" style="height: 20px">
    <option value="<?php print $row['pazienza'];?>" selected="selected"><?php print $row['pazienza'];?></option>
    <option value="103">Tanta</option>
    <option value="104">Normale</option>
    <option value="50">Poca</option>
    <option value="203">Pochissima</option>
    <option value="204">Per Nulla</option>
    </select>
    Oppure in questo modo:

    codice:
    	<select name="pazienza">
    	<option value="Tanta" <?php if ($row['pazienza']=="Tanta") print "selected" ?>>Tanta</option>
    	<option value="Normale" <?php if ($row['pazienza']=="Normale") print "selected" ?>>Normale</option>
    	<option value="Poca" <?php if ($row['pazienza']=="Poca") print "selected" ?>>Poca</option>
    	<option value="Pochissima" <?php if ($row['pazienza']=="Pochissima") print "selected" ?>>Pochissima</option>
    	<option value="Per Nulla" <?php if ($row['pazienza']=="Per Nulla") print "selected" ?>>Per Nulla</option>
    	</select>
    Nessuno dei due metodi mi consente di leggere e visualizzare non il valore ma l'etichetta corrispondente al valore....Mi date una mano a risolvere il problema?

    Grazie!!!

    Buona domenica!!!
    Tiziano

  2. #2
    I due esempi che hai postato non sono incompatibili tra di loro. Sul DB salvi il codice oppure la descrizione. Nel caso venga salvato il codice della scelta selezionata quando hai necessità di visualizzare la descrizione (ad esempio nella pagina di riepilogo) devi effettuare una select sul DB utilizzando il codice selezionato per recuperare la descrizione associata a tale codice.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Originariamente inviato da satifal
    I due esempi che hai postato non sono incompatibili tra di loro. Sul DB salvi il codice oppure la descrizione. Nel caso venga salvato il codice della scelta selezionata quando hai necessità di visualizzare la descrizione (ad esempio nella pagina di riepilogo) devi effettuare una select sul DB utilizzando il codice selezionato per recuperare la descrizione associata a tale codice.
    Ciao Satifal,
    i due esempi non sono incompatibili ma li uso in modo distinto: o scelgo di usare l'uno o scelgo di usare l'altro....di solito propendo per il primo perchè scrivo meno codice.
    Io sul DB salvo i codici numerici, che come si vede nell'esempio sono numeri del tipo: 101, 102,50,201,202 etc etc.....Come faccio a recuperare le etichette associate a questi codici e visualizzare quelle nella lettura delle scelte effettuate dall'utente?

  4. #4
    Intendi una cosa così quindi?

    codice:
    	<select name="pazienza">
    	<option value="101" <?php if ($row['pazienza']=="101") print "selected" ?>>Tanta</option>
    	<option value="103" <?php if ($row['pazienza']=="103") print "selected" ?>>Normale</option>
    	<option value="50" <?php if ($row['pazienza']=="50") print "selected" ?>>Poca</option>
    	<option value="201" <?php if ($row['pazienza']=="201") print "selected" ?>>Pochissima</option>
    	<option value="203" <?php if ($row['pazienza']=="Per 203") print "selected" ?>>Per Nulla</option>
    	</select>

  5. #5
    Originariamente inviato da Tulipan0nero
    Ciao Satifal,
    i due esempi non sono incompatibili ma li uso in modo distinto: o scelgo di usare l'uno o scelgo di usare l'altro....di solito propendo per il primo perchè scrivo meno codice...
    Cioè stai dicendo che nello stesso applicativo salvi i dati sul DB un po' come capita? Mi piacerebbe dare un'occhiata alla particolare e fantasiosa struttura del DB che utilizzi!
    Oppure stai parlando di applicativi differenti?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    edited ... [post duplicato]
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    E' lo stesso applicativo ma se nel medesimo campo di un record scrivo con la mano destra o con la mano sinistra è il risultato che conta no?
    Cmq come ho scritto io funziona e riesco a vedere le etichette invece dei valori!!

  8. #8
    Originariamente inviato da Tulipan0nero
    E' lo stesso applicativo ma se nel medesimo campo di un record scrivo con la mano destra o con la mano sinistra è il risultato che conta no?
    Questa me la segno che la riporto nelle pillole di filosofia informatica

    Il problema è che se scrivi con la mano destra oppure la sinistra lo stesso tipo di dato è un conto, se ci scrivi dati di tipologia differente (codice o descrizione) è un altro!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  9. #9
    Satifal!!! Scusa...mo mi fai ridere: è OVVIO che se decido di memorizzare DESCRIZIONI memorizzo sempre e solo quelle, se decido di memorizzare VALORI memorizzerò solo quelli. Hai pensato che per una decina di dorplist alcune volte memorizzassi i valori ed altre volte le etichette? AHHHAHAHAHAH.....

    Se ho dato questa idea, la risposta è ovviamente: NON E' COSì!!!

    Ho capito adesso la tua perplessità e mi hai fatto sbellicare dalle risate....

    Ripeto per puntualizzare: non è nello stesso contesto che uso l'una o l'altra memorizzazione sennò mi ritroverei per lo stesso campo una volta valori ed una volta descrizioni con un casino da mettersi le mani ai capelli!

    Grazie cmq per la tua assistenza!

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.