[PHP] Selezione con menu a tendina e recupero selezione

Discussione in 'PHP' iniziata da ugo.ugo, 19 Dicembre 2017.

  1. ugo.ugo

    ugo.ugo Nuovo Utente

    Registrato:
    19 Dicembre 2017
    Messaggi:
    5
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    Buon Natale a tutti ,
    sono autodidatta studiando sui vari form per la rete , ma , ovviamente, conoscendo poco le sintassi del HTML
    ed PHP sono andato in crisi nel cercare di fare ciò che Vi descrivo: creato un DB con varie tabelle ,ho necessità di prelevare da un FORM, con una selezione a tendina, un nominativo ( da una tabella del DB ) e poterlo usare come variabile per utilizzarlo in altre selezioni o stampare a video sulla pagina html. Ho cercato e letto varie indicazioni ed esempi, ma non riesco a capire come recuperare la variabile del risultato della SELECT.Sarà sicuramente banale, ma io non ci arrivo.Il FORM funziona e posso selezionare il nominativo dal menu a tendina ( oltre un centinaio di possibilità ) ma poi nons o quale variabile usare per procedere con la seconda parte del programma. Inserisco il codice che ho :
    HTML:
    <html>
    
    <head>
    <title>Modulo Clienti</title>
    </head>
    
    <body>
    Inserire dati: <br />
    <form NAME="form inserimento" METHOD="POST" ACTION="">
     
     <div id="p_cli" style=text-align:left><!-- posiziona casella Cliente -->
          <label for="Cli">ELENCO  CLIENTI </label><BR>
          <label> Seleziona il nome :</label><BR>
          
          
            
    <?php
    
    // Richiamo connessione a MySQL con script
    require 'condb.php';//$conn è la variabile di uscita
    
    
    
    // ===Preparazione elenco per menu a tendina Cliente ====
      $Query1="SELECT * FROM Clienti ORDER BY Intestazione ";
     
           //esecuzione della query 
                $Legcli=mysqli_query($conn, $Query1) or die (mysqli_error());
           if(!$Legcli)
             print("<H2>Errore Query</H2>");
            
           else
      
           echo "<select name='ragionesoc'>";//Genera casella a discesa
           while ($row = mysqli_fetch_array($Legcli)) 
    { 
    $Cliente1 = $row['Intestazione'] ;
    $selected = ($Cliente == $Cliente1)?'selected':'';
    
    echo "<option   value =\"$Cliente\"   $selected>$Cliente1</option>" ; //Popola casella ??
     
    }
     echo "</select>";
    
    ?>
    <br>
    <input type="SUBMIT" NAME="Submit" VALUE="Invia" />
    <input type="RESET" NAME="Cancel" VALUE="Azzera" />
    
    </form>
    </body>
    </html>
    
    <div id="p_cli" style=text-align:center><!-- posiziona casella Cliente -->
          <label for="Cli">ANAGRAFICA  CLIENTI </label>
        
    <?php
     // query per leggere i dati memorizzati nel db secondo la scelta fatta prima ( select qui sopra)
     $anagra1 ="SELECT * FROM Clienti WHERE Intestazione = '...???...'";// cosa ci metto ?
       $anagra2 = mysqli_query($conn, $anagra1);
    
     
     // risultato in  array
      while($row = mysqli_fetch_array($anagra2))
     
    {
    
    
    echo "<br>"." RAGIONE SOCIALE  :  ";
    echo $row['Intestazione']."<br>";
    
    echo " INDIRIZZO  :  ";
    echo $row['Indirizzo']."   ,";
    echo $row['Numero Civico']."<br>";
    
    echo " CAP :  ";echo $row['Cap'];
    echo ".   . ";echo $row['Citta']."<br>";
    echo ".    PROVINCIA  :  ";echo $row['Prov']."<br>";
    
    echo " CODICE FISCALE  :  ";echo $row['C_F'];
    echo " PARTITA IVA   :   ";echo $row['P_Iva']."<br>";
    } 
     
    
     
    ?>
    

    Grazie in anticipo per eventuali suggerimenti o link su cui riuscire a capire.
    Saluti.
    Ugo.ugo
     
  2. macus_adi

    macus_adi Utente Attivo

    Registrato:
    5 Dicembre 2017
    Messaggi:
    882
    Mi Piace Ricevuti:
    49
    Punteggio:
    28
    Sesso:
    Maschio
    Occupazione:
    Developer
    Località:
    L'Aquila
    Hai inserito nella value della option il valore $Cliente quindi la query va eseguita su Clienti e non Intestazione.
    PHP:
     $anagra1 ="SELECT * FROM Clienti WHERE Cliente= $Cliente";
    Spero sia utile!
     
  3. ugo.ugo

    ugo.ugo Nuovo Utente

    Registrato:
    19 Dicembre 2017
    Messaggi:
    5
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    Buon giorno Macus_adi ,grazie per la risposta. Allora: ha provato a sostituire Intestazione con Cliente, ma nella mia tabella "Clienti" non ho un campo di nome 'Cliente' ed in effetti così facendo ,mi riporta i seguenti errori:
    Notice: Undefined variable: Cliente in /var/www/html/menu_selezione.php on line 61

    Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /var/www/html/menu_selezione.php on line 66
    dove alla riga 61 ho la modifica fatta.Avevo sritto Intestazione perchè intendevo paragonare il contenuto di quel campo con la selezione fatta, ma non so come estrarre la selezione.
    Grazie
     
  4. macus_adi

    macus_adi Utente Attivo

    Registrato:
    5 Dicembre 2017
    Messaggi:
    882
    Mi Piace Ricevuti:
    49
    Punteggio:
    28
    Sesso:
    Maschio
    Occupazione:
    Developer
    Località:
    L'Aquila
    Codice:
    <option   value =\"$Cliente\"   $selected>$Cliente1</option>
    $Cliente che tipo di dato è? Cosa rappresenta?? Dovresti effetuare la query sul DB sul valore contenuto da Cliente.
     
  5. ugo.ugo

    ugo.ugo Nuovo Utente

    Registrato:
    19 Dicembre 2017
    Messaggi:
    5
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    echo "<option value =\"$Cliente\" $selected>$Cliente1</option>" ; //Popola casella ??
    Come dicevo non ho grandi conoscenze della sintassi ,infatti questa "option " l'ho adattata alla mia esigenza, e proprio per questo non sono in grado di ricavare la selezione da paragonare.Mi apettavo di poter prelevare dalla "select" una variabile che contenesse la scelta fatta.Forse se riuscissi a capire la sintassi esatta e la spiegazione dei parametri stessi della " option" riuscirei a fare ciò che mi serve. Si può scrivere un codice diverso ?Scusate la mia ignoranza .
     
  6. ugo.ugo

    ugo.ugo Nuovo Utente

    Registrato:
    19 Dicembre 2017
    Messaggi:
    5
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    Buon giorno e buone feste a tutti !
    Qualche buona anima può aiutarmi a capire come risolvere ?
    Scusate se insisto . Grazie e saluti a tutti
     
Sto caricando...

Condividi questa Pagina