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. Pulsante "seleziona (elenco/menu)" con dati presi da database
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • T
      thedarkita ModSenior • ultima modifica di

      Ciao nofcfro,
      puoi mettere action="" è iene già considerato come questa pagina, senza bisogno di specificarlo.

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • N
        nofcfro User Attivo • ultima modifica di

        Perfetto!
        Una domanda, posso ad ogni oggetto che viene selezionato dal database dargli un valore?
        Esempio: nel database ho 3 nomi: Tizio, Caio, Sempronio, che ora mi vengono messi nel menù a tendina correttamente. Se io volessi dare a questi tre nomi un valore: Tizio = 1, Caio = 2, Sempronio = 3, cosicché nell'url es. ww.esempio.php?nomeid=1 ( o 2, o 3 ), come potrei fare?
        Grazie 🙂

        0 Miglior Risposta Ringrazia Cita Rispondi

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

          Devi inserire una chiave primaria autoincrement nella tabella.
          Tutte le tabelle dovrebbero avere un chiave primaria, altrimenti sono entità deboli.

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • N
            nofcfro User Attivo • ultima modifica di

            Quindi una ID chiave primaria auto-incrementale? Quella sì l'ho messa 🙂
            Il problema è che nella pagina1.php ho il menù a tendina con i vari nomi.

            [PHP]
            <?php include("conn.php"); ?>
            <form id="form1" name="form1" method="post" action="a.php">
            <input type="submit" name="submit" id="submit" value="Procedi" />
            </form>
            Condominio:
            <SELECT name="nomi" size="">
            <?php
            $risultato=mysql_query("select id, nome from utenti", $conn);
            if (!$risultato)
            {
            die("La tabella selezionata non esiste " . mysql_error());
            }

                while ($riga=mysql_fetch_array($risultato))
                {
                    $campo1 = $riga['id'];
                    $campo2 = $riga['nome']; 
                    
                    echo "<option value=\"".$riga["nome"]."\">".$riga["nome"]."</option>";
                }
            ?>
            

            </SELECT>
            ?>
            <?php include("close.php"); ?>
            [/PHP]

            Seleziono il nome che desidero, clicco sul pulsante "Procedi" e arrivo alla pagina2.php dove ho:

            [PHP]<?php
            if(isset($_POST["submit"]))
            {
            $zz= $riga['nome'];
            $yy = $riga['id'];
            echo $zz;
            echo $yy;
            }
            ?>[/PHP]

            Perché non mi stampa niente? Come faccio a passare una informazione all'altra pagina? Ecco perché ti chiedevo se era utile dare ad ogni nome un valore che potesse finire nell'url, così nella seconda pagina mettevo un $_GET e ricavavo le informazioni 🙂

            0 Miglior Risposta Ringrazia Cita Rispondi

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

              L'invio del form ti spedisce il nome che ti ritrovi in $_POST['nomi'], la variabile $riga non esiste nella seconda pagina.

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • N
                nofcfro User Attivo • ultima modifica di

                Ok, ma allora nella seconda pagina nel ciclo if cosa ci metto per richiamare i valori 'nome' e 'id'?
                [PHP]
                if(isset($_POST["nomi"]))
                {
                }
                [/PHP]

                0 Miglior Risposta Ringrazia Cita Rispondi

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

                  Non funziona cosi, un select del modulo ti fà inviare un valore.
                  Se tu hai:
                  [php]
                  echo "<option value="".$riga["nome"]."">".$riga["nome"]."</option>";
                  [/php]
                  E $riga["nome"] ha come valore TheDarkITA, quando invii il modulo ti ritrovi $_POST["nomi"] uguale a TheDarkITA.

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • N
                    nofcfro User Attivo • ultima modifica di

                    Svelato l'arcano: come si vede nel post #6 ho chiuso male il form </form> che va a fine pagine, ecco perché non riusciva nulla! XD
                    Grazie per i suggerimenti 🙂

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • N
                      nofcfro User Attivo • ultima modifica di

                      Domanda sempre collegata: quando nella seconda pagina io ricavo i dati grazie al [PHP]$_POST[/PHP] ricevo l'unico valore compreso nella stringa:
                      [PHP]echo "<option value="".$riga["nome"]."">".$riga["nome"]."</option>";[/PHP]
                      Se io volessi ad esempio passare **insieme ** al "nome" anche un altro valore, tipo l'ID, devo per forza fare un'altra query select? Tenendo conto che questo valore ID però non deve essere visibile a tutti.
                      🙂

                      0 Miglior Risposta Ringrazia Cita Rispondi

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

                        Solitamente si passa solo l'id, in quanto ad ogni ID è associato un nome, o anche più valori che si recuperano nella seconda pagina con una query.
                        Anche perchè devi controllare che non siano stati manomessi gli input.

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • N
                          nofcfro User Attivo • ultima modifica di

                          Sì ma se andassi a modificare questa linea:
                          [PHP]echo "<option value="".$riga["nome"]."">".$riga["nome"]."</option>"; [/PHP]
                          cambiandola in questa:
                          [PHP]echo "<option value="".$riga["id"]."">".$riga["id"]."</option>"; [/PHP]
                          Poi nel menù a tendina comparirebbero solo gli id!

                          0 Miglior Risposta Ringrazia Cita Rispondi

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

                            Esiste la via di mezzo 😄
                            [php]
                            echo "<option value="".$riga["id"]."">".$riga["nome"]."</option>";
                            [/php]

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • N
                              nofcfro User Attivo • ultima modifica di

                              Geniale 😉

                              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