Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    34

    Aiuto persistenza <select>

    Salve a tutti, ho un elenco html di questo tipo:

    <select name="destlang">
    <option value="bg">Bulgarian</option>
    <option value="ca">Catalan</option>
    <option value="hr">Croatian</option>
    </select>

    dovrei fare in modo che, una volta inviata la form contenente tale select, il valore selezionato sia persistente.

    In pratica, se avessi selezionato il Catalano, avrei bisogno che l'html divenisse:

    <select name="destlang">
    <option value="bg">Bulgarian</option>
    <option value="ca" selected>Catalan</option>
    <option value="hr">Croatian</option>

    Sono abbastanza novellino di php. Pensavo che forse mi occorre un array di array, però ho qualche dubbio sul come implementarlo, non è che qualche anima pia può darmi una mano?

  2. #2
    usi un database?

  3. #3
    Fai un array con i valori da inserire nella SELECT, quindi lo cicli per creare il codice HTML della stessa.

    Codice PHP:
    $voci = array("bg" => "Bulgarian""ca" => "Catalan""ht" => "Croatian");

    echo 
    "<select name=\\"destlang\\">";
    foreach(
    $voci AS $sigla => $voce) {
    echo 
    "<option value=\\"$sigla\\">$voce</option>";
    }
    echo 
    "</select>";
    ?> 
    Fino a qui tutto ok.
    Se ho capito bene cosa intendi per "persistenza", probabimente hai necessità di salvare la selezione dell'utente in una sessione.
    Però non so il meccanismo dello scripr, quindi ti modifico quanto scritto sinora per farti un esempio, che poi dovrai necessariamente personalizzare.

    Codice PHP:
    session_start();
    $variabile_nella_sessione $_SESSION['nome_variabile'];

    $voci = array("bg" => "Bulgarian""ca" => "Catalan""ht" => "Croatian");

    echo 
    "<select name=\\"destlang\\">";
    foreach(
    $voci AS $sigla => $voce) {
    (
    $variabile_nella_sessione == $sigla) ? $sel " selected" $sel "" ;
    echo 
    "<option value=\\"$sigla\\"".$sel.">$voce</option>";
    }
    echo 
    "</select>";
    ?> 
    Non l'ho testato, ma così dovrebbe andare.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    34
    Ciao! Grazie mille!

  5. #5
    La sua soddisfazione è il nostro miglior premio!


    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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.