Buongiorno a TUTTI,
ho un problema relativo ad una query. Il problema che devo risolvere è: "realizza un semplice Form che consenta di scegliere un particolare studente ed una materia facendo restituire in maniera opportuna tutti i dati delle relative prove scritte con la media finale ". Io riesco a portare i dati tramite POST da una pagina all'altra ma quando controllo la SQL tramite $ris non va, penso si dovuto a $sql. Qualcuno mi può dare una mano?
PS LO SCHEMA LOGICO è NELLA FOTO e anche IL RISULTATO DELLA PAGINA
QUESTO è CIò CHE HO FATTO:
ho un problema relativo ad una query. Il problema che devo risolvere è: "realizza un semplice Form che consenta di scegliere un particolare studente ed una materia facendo restituire in maniera opportuna tutti i dati delle relative prove scritte con la media finale ". Io riesco a portare i dati tramite POST da una pagina all'altra ma quando controllo la SQL tramite $ris non va, penso si dovuto a $sql. Qualcuno mi può dare una mano?
PS LO SCHEMA LOGICO è NELLA FOTO e anche IL RISULTATO DELLA PAGINA
QUESTO è CIò CHE HO FATTO:
HTML:
<!DOCTYPE html >
<html>
<head>
<?php
$con=mysqli_connect('localhost','root','','prove');
//recupero lo STUDENTE
if (!isset($_POST['studente'])) die("Nessuno studente selezionato");
$studente=($_POST['studente']);
echo $studente;
//recupero la MATERIA
if (!isset($_POST['materia'])) die("Nessuna materia selezionata");
$materia=($_POST['materia']);
echo $materia;
$sql= "SELECT S.cognome AS Cognome, S.nome AS Nome, S.classe AS Classe, M.materia AS Materia, PS.data AS DataProva , E.Voto AS Voto, AVG(V.valore) AS AVG
FROM voti AS V INNER JOIN (studenti AS S INNER JOIN ((materie AS M INNER JOIN ((docenti AS D INNER JOIN docentimaterie AS DM ON D.id_docente = DM.docente)
INNER JOIN provescritte AS PS ON DM.id_docentemateria = PS.docentemateria) ON M.id_materia = DM.materia) INNER JOIN esiti AS E ON PS.id_provascritta = E.provascritta)
ON S.id_studente = E.studente) ON V.id_voto = E.voto
GROUP BY S.cognome, S.nome, S.classe, M.materia, PS.data
HAVING S.cognome = $studente AND ((M.materia) = $materia)
ORDER BY PS.data";
$ris=mysqli_query($con,$sql);
if(!$ris) {die("ERRORE QUERY: " . mysqli_error($con));}
if(mysqli_num_rows($ris)==0) {die("Nessun dato corrisponde");}
$riga=mysqli_fetch_assoc($ris);
$studmat= $riga['Cognome']. " " . $riga['Nome']. " " . $riga['Materia'];
?>
<style>
table, tr, td {
border: 1px solid blac;
border-collapse: collapse;
}
</style
</head>
<body>
<?php
echo "<h2>Prove effettuate da;" . " " . $studmat . "</h2>";
?>
<table width="25%">
<tr><th>ProvaScritta</th><th>Data</th><th>Voto</th><th>Media</th>
<?php
$ris2=mysqli_query($con,$sql);
for ($i=1; $i<=mysqli_num_rows($ris); $i++){
$riga2 = mysqli_fetch_assoc($ris);
echo "<tr><td>".$riga['DataProva']."</td><td>".$riga2['voto']."</td><td>".$riga['AVG']."</td></tr>";
}
?>
</table>
<br><a href='ricercaprove.studente.materia.php'>TORNA ALLA PAGINA PRECEDENTE</a>
</body>
</html>