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