[PHP] 3 menù Select

di il
1 risposte

[PHP] 3 menù Select

Buon pomeriggio, posto il codice che ho realizzato, vorrei capire dov'è l'errore. Premesso che forse dovrei usare Javascript, mi da errore nella query che viene assegnata a $result2. So che ho utilizzato una funzione mia per svolgere la Query, ma non ha problemi, l'ho sempre utilizzata senza avere problemi, qui posto il codice :

    echo("    
    <form method='post' action='insertProva.php' enctype=\"multipart/form-data\" onsubmit=\"return checkform(this)\">
    <div class='spazio'><input type='hidden' name='Modulo' value='1' /></div>
    <div class='label'>
        <label for='NomeR'>* Nome r:</label>
    </div>
    <div class='inputInsProp'><select name='NomeR' onchange = \"".$NomeR."\"/></div>
    <div class='spazio'>&nbsp;</div>
    ");
    $result = effettuaQuery("SELECT * FROM provar ORDER BY nomer", $mysqli); 
    while ($riga=mysqli_fetch_array($result)){ 
        $NomeR=$riga['NomeR'];        
        echo "<option value=\"".$NomeR."\">".$NomeR."</option>"; 
    }
    echo("
    </SELECT>
    ");
    $result2 = effettuaQuery("SELECT * FROM provar WHERE nomer =".$NomeR, $mysqli);
    $riga=mysqli_fetch_array($result2); 
    $SiglaR=$riga['SiglaR'];
    echo("
    <div class='label'>
        <label for='NomeP'>* Nome P:</label>
    </div>
    <div class='inputInsProp'><select name='NomeP' onchange = \"".$NomeP."\"/></div>
    <div class='spazio'>&nbsp;</div>
    ");
    $result3 = effettuaQuery("SELECT * FROM provap WHERE SiglaR =".$SiglaR."ORDER BY NomeP", $mysqli); 
    while ($riga=mysqli_fetch_array($result3)){ 
        $NomeP=$riga['NomeP'];        
        echo "<option value=\"".$NomeP."\">".$NomeP."</option>"; 
    }
    echo("
    </SELECT>
    ");
    $result4 = effettuaQuery("SELECT * FROM provap WHERE nomep =".$NomeP, $mysqli);
    $riga2=mysqli_fetch_array($result2); 
    $SiglaP=$riga['SiglaP'];
    echo("
    <div class='label'>
        <label for='NomeC'>* Nome C:</label>
    </div>
    <div class='inputInsProp'><select name='NomeC' onchange = \"".$NomeC."\"/></div>
    <div class='spazio'>&nbsp;</div>
    ");
    $result5 = effettuaQuery("SELECT * FROM provac WHERE SiglaP =".$SiglaP."ORDER BY NomeC", $mysqli); 
    while ($riga=mysqli_fetch_array($result5)){ 
        $NomeC=$riga['NomeC'];        
        echo "<option value=\"".$NomeC."\">".$NomeC."</option>"; 
    }
    echo("
    </SELECT>
    ");
    $result6 = effettuaQuery("SELECT * FROM provac WHERE nomec =".$NomeC, $mysqli);
    $riga3=mysqli_fetch_array($result6); 
    $SiglaC=$riga['SiglaC'];
    echo("
    </SELECT>
    <div class='spazio'>&nbsp;</div>    
    <div class='inputInsProp'><input type='submit' value='Inserire dati' /></div>
    <div class='spazio'>&nbsp;</div>
    </form>
    ");
Le variabili sono state tutte dichiarate in precedenza. Ho anche provato a fare l'echo di $NomeR e mi ha restituito una stringa con il risultato che mi aspettavo (ovvero con valore pari a quello dell'opzione). Vorrei sapere se devo effettuare una conversione per poter utilizzare il valore della variabile che ho ottenuto a partire dall'opzione della SELECT (inteso come html input, non come Query) all'interno della Query, oppure se ho proprio sbagliato qualcosa.

1 Risposte

  • Re: [PHP] 3 menù Select

    Aggiungendo gli apici su $NomeR e seguenti ho risolto qualche errore:


    Codice:
    $result2 = effettuaQuery("SELECT * FROM provar WHERE nomer ='".$NomeR."'", $mysqli);


    Mi sono accorto che anche in questo modo non riesco a fare in modo che le opzioni della seconda SELECT varino in base al NomeR selezionato e così via. Dite che devo utilizzare il Javascript? In caso di risposta affermativa, in quale modo?
Devi accedere o registrarti per scrivere nel forum
1 risposte