php, scegliere autista da select e mostrare se ha fatto un incidente

Jacopodalbello7

Nuovo Utente
12 Giu 2020
4
0
1
ciao a tutti, questo progetto deve consentire di selezionare da un menù l'autista e visionare, se presenti, l'elenco degli incidenti effettuati. vi ringranzio in anticipo per l'aiuto.
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<?php
$hostname="localhost";
$username="root";
$pw="";
$dbname="trasporti";
//var connessione al server SQL
$conn=mysqli_connect($hostname,$username,$pw,$dbname);
if(!$conn){
die("errore di connessione");
exit();
}
//query
$query="SELECT * FROM autisti;";
$ris=mysqli_query($conn, $query);
//controllo query
if(!$query){
echo "errore della query";
exit();
}
//recupero i dati del form
$riga=mysqli_fetch_array($ris);
echo "<form action='index.php' method='GET'>";
echo "<select name='autista'>";
while($riga){
echo "<option value=".$riga["cf_autista"].">".$riga["nome"]." ".$riga["cognome"]."</option>";
$riga=mysqli_fetch_array($ris);
}
echo "</select><br>";
echo "<input type='submit' name='invia' value='invia dati'>";
echo "</form>";

if(isset($_GET['autista'])){
$query2="SELECT DISTINCT
cf_autista, nome, cognome, data_sped AS data_incidente
FROM
incidente, mezzo, trasporto_consegna, autisti
WHERE
fk_mezzo=targa AND
fk_targa=targa AND
fk_cf_autista=".$_GET['autista']."";

$ris2=mysqli_query($conn,$query2);
if(!$query2){
echo "errore della query2";
exit();
}
$riga2=mysqli_fetch_array($ris2);

echo ("<table>");
echo ("<tr><th>cf_autista</th><th>nome</th><th>cognome</th><th>data_incidente</th></tr>");

while($riga2){
echo "<tr>";
echo ("<td>".$riga2['cf_autista']."</td>");
echo ("<td>".$riga2['nome']."</td>");
echo ("<td>".$riga2['cognome']."</td>");
echo ("<td>".$riga2['data_incidente']."</td>");
echo "</tr>";

$riga2= mysqli_fetch_array($ris2);

}
echo"</table>";
}

mysqli_close($conn);
?>
</body>
</html>
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.299
332
83
@Jacopodalbello7

Da regolamento del forum, come tutti noi sei tenuto ad usare il tag
PHP (2).png
quando posti del codice php, oppure la funzione codice dalla barra degli strument
box inserisci.png

Inoltre IMPORTANTE: Prima di creare una nuova discussione o di rispondere alle discussioni esistenti ricordati di leggere attentamente il Regolamento del Forum e l'eventuale regolamento specifico della sezione!

Grazie

Correggi i tuoi post
mi raccomando altrimenti sarò costretto a cancellare le discussioni
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.299
332
83
Quale è lo scopo di quel progetto?
 

Jacopodalbello7

Nuovo Utente
12 Giu 2020
4
0
1
Codice:
 <?php
        $hostname="localhost";
        $username="root";
        $pw="";
        $dbname="trasporti";
        //var connessione al server SQL
        $conn=mysqli_connect($hostname,$username,$pw,$dbname);
        if(!$conn){
            die("errore di connessione");
            exit();
        }
        //query
        $query="SELECT * FROM autisti;";
        $ris=mysqli_query($conn, $query);
        //controllo query
        if(!$query){
            echo "errore della query";
            exit();
        }
        //recupero i dati del form
        $riga=mysqli_fetch_array($ris);
        echo "<form action='index.php' method='GET'>";
        echo "<select name='autista'>";
        while($riga){
            echo "<option value=>".$riga["cf_autista"]." ".$riga["nome"]." ".$riga["cognome"]."</option>";
        $riga=mysqli_fetch_array($ris);
        }
        echo "</select><br>";
        echo "<input type='submit' name='invia' value='invia dati'>";
        echo "</form>";
        //query2
        if(isset($_GET['autista'])){
        $codautista=$_GET['autista'];
            $query2="SELECT
                                    cf_autista, nome, cognome, data_sped AS data_incidente
                    FROM
                                    incidente, mezzo, trasporto_consegna, autisti
                    WHERE
                                    fk_mezzo=targa AND
                                    fk_targa=targa AND
                                    fk_cf_autista=".$codautista;
            
            $ris2=mysqli_query($conn,$query2);
            if(!$query2){
                echo "errore della query2";
                exit();
            }
            $riga=mysqli_fetch_array($ris2);
            
            echo ("<table border=1>");
            echo ("<tr><th>cf_autista</th><th>nome</th><th>cognome</th><th>data_incidente</th></tr>");
            
            while($riga){
                echo "<tr>";
                echo ("<td>".$riga['cf_autista']."</td>");
                echo ("<td>".$riga['nome']."</td>");
                echo ("<td>".$riga['cognome']."</td>");
                echo ("<td>".$riga['data_incidente']."</td>");
                echo "</tr>";
                
                $riga= mysqli_fetch_array($ris2);
                
            }
            echo"</table>";
        }
        
        mysqli_close($conn);
        ?>
    </body>
</html>
 

Jacopodalbello7

Nuovo Utente
12 Giu 2020
4
0
1
max, è un lavoro per la maturità, sono fermo a quel punto da due giorni e domani ho la consegna. Non riesco ad andare avanti.
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.299
332
83
È quello che temevo!
Di solito non facciamo i compiti per gli studenti
 
  • Like
Reactions: MarcoGrazia

Jacopodalbello7

Nuovo Utente
12 Giu 2020
4
0
1
non devi farmi i compiti ahahah, mi serve solo una mano a trovare l'errore. secondo me il problema è nella seconda query che non riesce a capire quale 'autista' ho scelto nella select.
 

MarcoGrazia

Utente Attivo
15 Dic 2009
788
16
18
59
Udine
www.stilisticamente.com
Senza nemmeno sapere com'è strutturato il record, come ti si aiuta?
Possibile che l'errore sia nella query ( quasi certo dopo WHERE )
SQL:
fk_mezzo=targa AND fk_targa=targa AND fk_cf_autista=".$codautista;
Poi una cosa che mi sono chiesto: ma alla maturità ancora scrivete queste cose? $codautista=$_GET['autista']; e poi le riportate pari pari nelle query? :eek: