- Home
- Categorie
- Coding e Sistemistica
- Coding
- Creare select con value="selected"
-
Se hai effettuato 2 query diverse(almeno da come ho capito io)
Avrai una variabile avente come valore la città scelta precedentemente.Quindi sarebbe sufficiente fare:
[php]
while($lista = mysql_fetch_array($query_lista))
{
echo '<option value="'.$lista['value'].'"'.(($lista['etichetta'] == $sceltaprecedente) ? ' selected="selected"' : '').'>'.$lista['etichetta'].'</option>';
}
[/php]
-
Spetta, sto facendo un pò di confusione io. Allora io ho un db chiamato 'provincie' con questa suddivione:
sigla | nome
AG | Agrigento
CT | Catania
ecc...Poi ho una tabella users con tanti dati tra cui anche 'provincia'.
Nella fase di registrazione non c'è problema, faccio un ciclo molto semplice e stampo nelle option tutte le provincie e poi l'users ne sceglierà una.Ecco il codice:
$sql = "SELECT sigla,nome FROM provincie ORDER BY nome"; $result = mysql_query($sql); echo"<select name='provincia_nascita'>"; while($row = mysql_fetch_array($result)) { print("<option value='".$row['sigla']."'"); print(">".$row['nome']."</option>"); } echo '</select>
Adesso quando vado sul file modifica.php in cui l'users vorrebbe modificare la provincia, come faccio a far comparire come selezionata la provincia precedentemente scelta e poi tutte le altre..?
Adesso credo sia stato più chiaro.
-
Con questo codice dovrebbe funzionare:
[php]
while($lista = mysql_fetch_array(mysql_query("SELECT sigla,nome FROM provincie ORDER BY nome")))
{
echo '<option value="'.$lista['sigla'].'"'.(($lista['sigla'] == $sceltaprecedente) ? ' selected="selected"' : '').'>'.$lista['nome'].'</option>';
}
[/php]Devi solo assegnare a $sceltaprecedente la sigla della scelta effettuata precedentemente
-
Thedarkita, mi va in loop...
-
Il ciclo mi sembra corretto, non saprei perchè vada in loop...
-
c'è un altro modo per fare ciò che ho chiesto?
Non credo che mai nessuno abbia fatto una cosa del genere...
-
Oltre al ciclo che ti stampi le option, sctampi una option impostata come selected che abbia come value e nome i parametri impostati in precedenza...
Solo che il valore che hai scelto prima te lo ritroverai 2 volte, visto che viene stampato pure nel ciclo...
-
Si, il problema è che non mi fa visualizzare nulla perchè va in loop...
-
Altrimenti quale sarebbe l'altro consiglio? Lasciare l'input vuoto per le provincie e le città? Non credo che sia una buona idea, che dite?
-
Ciao raga, anche a me va in loop, però ho sostituito questa:
while($lista = mysql_fetch_array(mysql_query("SELECT sigla,nome FROM provincie ORDER BY nome")))
{con questa:
$query = mysql_query("SELECT sigla,nome FROM provincie ORDER BY nome");
while( $lista = mysql_fetch_array($query))
{
......
}Chi scopre l'arcano del perchè la prima riga va in loop?
Ciao