Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. Creare select con value="selected"
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • T
      thedarkita ModSenior • ultima modifica di

      Ricavato il valore dal database, basta inserire il valore di partenza avente stesso valore:

      Esempio pratico:

      [php]
      // Supponiamo questo sia il recupero dal database
      $query = mysql_query(".........");
      $row = mysql_fetch_array($query);
      [/php]

      Il select lo faremo cosi

      
      <form id="form1" name="form1" method="post" action="">
        <select name="select" id="select">
          <option value="<?=$row['value']?>" selected="selected"><?=$row['etichetta']?></option>
          <option value="Valore1">1</option>
          <option value="Valore2">2</option>
          </select>
      </form>
      
      
      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • S
        stable Super User • ultima modifica di

        Thedarkita, ti ringrazio per la risposta, ma vorrei anche far visualizzare tramite un while credo anche tutte le altre città che prelevo dal db... non so se sono stato chiaro, e mettere in selected solo quella che l'utente ha scelto...

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • T
          thedarkita ModSenior • ultima modifica di

          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]

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • S
            stable Super User • ultima modifica di

            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. :mmm:

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • T
              thedarkita ModSenior • ultima modifica di

              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

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • S
                stable Super User • ultima modifica di

                Thedarkita, mi va in loop...

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • T
                  thedarkita ModSenior • ultima modifica di

                  Il ciclo mi sembra corretto, non saprei perchè vada in loop...

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • S
                    stable Super User • ultima modifica di

                    c'è un altro modo per fare ciò che ho chiesto?
                    Non credo che mai nessuno abbia fatto una cosa del genere...

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • T
                      thedarkita ModSenior • ultima modifica di

                      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...

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • S
                        stable Super User • ultima modifica di

                        Si, il problema è che non mi fa visualizzare nulla perchè va in loop...

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • S
                          stable Super User • ultima modifica di

                          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?

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • G
                            gandharva User Newbie • ultima modifica di

                            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

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            Caricamento altri post
                            Rispondi
                            • Topic risposta
                            Effettua l'accesso per rispondere
                            • Da Vecchi a Nuovi
                            • Da Nuovi a Vecchi
                            • Più Voti