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>
 
@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
 
Quale è lo scopo di quel progetto?
 
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>
 
max, è un lavoro per la maturità, sono fermo a quel punto da due giorni e domani ho la consegna. Non riesco ad andare avanti.
 
È quello che temevo!
Di solito non facciamo i compiti per gli studenti
 
  • Like
Reactions: MarcoGrazia
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.
 
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:
 

Discussioni simili