[PHP] Menu a tendina dinamico che non si aggiorna

Max61

Utente Attivo
2 Mar 2014
620
3
18
Salve sono ancora qui a chiedere aiuto al forum, ho creato una pagina dove ci sono due menu a tendina, il primo è relativo all'anno, il secondo alla persone.
Vorrei che selezionando l'anno in automatico mi mostrasse i nomi relativi a quell'anno, ho provato ma non riesco a far fare la query , se gli passo l'anno direttamente nella query funziona...ma così non va bene.
Allego codice che utilizzo:
PHP:
<label for="AnnoSinistro">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Scegli il l'anno </label>
<?php

// ===Preparazione elenco per menu a tendina AnnoSinistro ====
  $Query1="SELECT *
FROM tblsinistri
WHERE AnnoSinistro <> 0
GROUP BY AnnoSinistro
ORDER BY AnnoSinistro"; 
 
       //esecuzione della query
            $Leggi_AnnoSinistro=@mysql_query($Query1) or die (mysql_error());
       if(!$Leggi_AnnoSinistro)
         print("<H2>Query fallita!</H2>");
       else
       echo "<select name='AnnoSinistro' id='AnnoSinistroid'>";//Genera casella a discesa
       while ($row = mysql_fetch_array($Leggi_AnnoSinistro))
{
$AnnoSinistro = $row['AnnoSinistro'];

echo "<option value =\"$AnnoSinistro\">$AnnoSinistro </option>"; //Popola casella
}

echo "value=$AnnoSinistro </select>";

 
$_SESSION['variabile'] = $AnnoSinistro;
//echo $_SESSION['variabile'];
?>


    <label for="Nominativo">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Scegli il nominativo </label>
<?php

// ===Preparazione elenco per menu a tendina Nominativo ====
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET NAMES utf8");
function removeslashes ( $Nominativo )
{
$Nominativo = implode ( "" , explode ( "\\" , $Nominativo ));
return stripslashes ( trim ( $Nominativo ));
}

    $Query1="SELECT *
        FROM tblverbali
        WHERE NumVerbale <> 0 AND AnnoSinistro='$AnnoSinistro'
        GROUP BY Nominativo
        ORDER BY Nominativo"; 
 
       //esecuzione della query
            $Leggi_NumVerbale=@mysql_query($Query1) or die (mysql_error());
       if(!$Leggi_NumVerbale)
         print("<H2>Query fallita!</H2>");
       else
       echo "<select name='Nominativo' id='Nominativoid'>";//Genera casella a discesa
       while ($row = mysql_fetch_array($Leggi_NumVerbale))
{
        $Nominativo=$row['Nominativo'];
        $Nominativo = iconv('UTF-8', 'windows-1252', $Nominativo);
        $Nominativo= addslashes($row['Nominativo']);
        mysql_query("SET CHARACTER SET utf8");
        mysql_query("SET NAMES utf8");
 
        echo "<option value =\"$Nominativo\">$Nominativo </option>"; //Popola casella
        }
        $Nominativo= addslashes($row['Nominativo']);
        echo "value=$Nominativo </select>";
?>
Grazie

Max61
 

LinuxOhYeah

Utente Attivo
26 Nov 2016
188
7
18
Forse ci vuole tipo onchange="funzione_che_popola()" ?
Oppure modificando il codice di questo articolo ma con le query al database in tempo reale
 

Max61

Utente Attivo
2 Mar 2014
620
3
18
Ciao, grazie per la risposta, ho provato decine di codici trovati in rete compreso quello che mi hai proposto te, ma non sono riuscito.
Se mi puoi aiutare...o modificando il codice che ho postato o in altra maniera, va tutto bene.
Max 61