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

      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