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

    Creare select con value="selected"

    Ciao a tutti. Ecco il mio quesito che può sembrare facile, ma io non riesco proprio. Un utente si registra ed inserisce tramite un elenco select (preso da un'altra tabella del db) il nome della città. Successivamente vuole modificare il campo quindi vorrei che lui vedesse cosa aveva scelto prima.
    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:

    Codice PHP:

    $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..?
    Non è tutto oro ciò che luccica!

  2. #2
    Ti basta inserire all'interno del ciclo un IF() (od operatore ternario) per aggiungere l'attributo selected al tag option nel caso in cui il record corrente corrisponda alla provincia del profilo dell'utente.

  3. #3
    Si ok, il problema è che le provincie italiane sono 103... devo farle per tutte oppure esiste un altro metodo?

    Grazie
    Non è tutto oro ciò che luccica!

  4. #4
    Che significa "devo farle per tutte"?

    Ti basta un solo IF.

  5. #5
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    Codice PHP:

    $sql 
    "SELECT sigla,nome FROM provincie ORDER BY nome";
    $result =  mysql_query($sql);             
    echo
    "<select name='provincia_nascita'>";
    while(
    $row mysql_fetch_array($row))
    {
    $selected=($user_provincia == $row['sigla'])?'selected':''
    echo 
    "<option value=\"{$row['sigla']}\" $selected>{$row['nome']}</option>";
    }
    echo 
    '</select> 
    come vedi non bisogna inserire 103 volte un if per ogni provincia come forse tu avrai pensato di fare

    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  6. #6
    Grande dottwatson, è proprio quello che cercavo.
    Grazie html.it
    Non è tutto oro ciò che luccica!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.