Affichage des données de la BDD dans un tableau
Résolu
modemo2018
Messages postés
226
Date d'inscription
Statut
Membre
Dernière intervention
-
modemo2018 Messages postés 226 Date d'inscription Statut Membre Dernière intervention -
modemo2018 Messages postés 226 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je cherche à afficher les noms, prenoms et resultats d'une personne dans un tableau
Voici le code PHP de la requête pour trouver les personnes ou élève:
Voici le code qui doit afficher le nom, prenom et resultat de chacun
EDIT : Correction des balises de code ( ton langage c'est le PHP ... il ne faut donc pas choisir le BASIC !!! )
Le tableau est censé afficher le nom, prenom (qui sont dans une table de la BDD) puis le resultat( qui sont dans une autre table qui est liée à la table des personnes) de la personne dans le nom, prénom sont affichés. ce que je constate c'est qu'il n'affiche que le nom et prénom pas le resultat.
Quelqu'un peut-il m'aidé? comment faire pour qu'il affiche le nom, prenom et resultat ?
je cherche à afficher les noms, prenoms et resultats d'une personne dans un tableau
Voici le code PHP de la requête pour trouver les personnes ou élève:
<?php error_reporting ( E_ALL ); ini_set ( 'display_errors', TRUE ); ini_set ( 'display_startup_errors', TRUE ); $class = !empty ( $_GET['class'] ) ? $_GET['class'] : NULL; $cycle = !empty ( $_GET['cycle'] ) ? $_GET['cycle'] : NULL; $iduser = !empty ( $_SESSION['id'] ) ? $_SESSION['id'] : NULL; $serie = !empty ( $_GET['serie'] ) ? $_GET['serie'] : NULL; //Recherche les noms et prenoms des élèves try { $req = $bdd->prepare('SELECT * FROM eleve WHERE class = ? AND iduser = ? ORDER BY nom'); $req->execute(array($class, $iduser)); //Somme des élèves de la classe } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } ?>
Voici le code qui doit afficher le nom, prenom et resultat de chacun
<table > <?php $j=1; $NbrCol = 10; echo '<tr>'; echo '<th>'; echo '<strong>#</strong>'; echo '</th>'; echo '<th>'; echo '<strong>Nom</strong>'; echo '</th>'; echo '<th>'; echo '<strong><strong>Prenom</strong></strong>'; echo '</th>'; echo '<th>'; echo '<strong>Resultat</strong>'; echo '</th>'; echo '</tr>'; while($donnees = $req->fetch()){ if ( ($j<=$NbrCol) ) { echo '<tr>'; echo '<td>'; echo $j; echo '</td>'; echo '<td>'; echo ''.$donnees['nom'].''; echo '</td>'; echo '<td>'; echo ''.$donnees['prenom'].''; echo '</td>'; echo '<td>'; $req3 = $bdd->prepare('SELECT * FROM moyenne WHERE ideleve = ?'); $req3->execute(array($donnees['ideleve'])); $donne = $req3->fetch(); echo ''.$donne['moye'].''; echo '</td>'; echo '</tr>'; } $j++; } ?> </table>
EDIT : Correction des balises de code ( ton langage c'est le PHP ... il ne faut donc pas choisir le BASIC !!! )
Le tableau est censé afficher le nom, prenom (qui sont dans une table de la BDD) puis le resultat( qui sont dans une autre table qui est liée à la table des personnes) de la personne dans le nom, prénom sont affichés. ce que je constate c'est qu'il n'affiche que le nom et prénom pas le resultat.
Quelqu'un peut-il m'aidé? comment faire pour qu'il affiche le nom, prenom et resultat ?
A voir également:
- Affichage des données de la BDD dans un tableau
- Fuite données maif - Guide
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Imprimer un tableau excel - Guide
1 réponse
Bonjour,
Quand tu postes du code php ... dans les balises de code, tu dois choisir le langage PHP .....
Sinon.. sais tu ce qu'est une JOINTURE dans une requete SQL ??
Essaye ça :
Quand tu postes du code php ... dans les balises de code, tu dois choisir le langage PHP .....
Sinon.. sais tu ce qu'est une JOINTURE dans une requete SQL ??
Essaye ça :
<?php error_reporting ( E_ALL ); ini_set ( 'display_errors', TRUE ); ini_set ( 'display_startup_errors', TRUE ); $class = !empty ( $_GET['class'] ) ? $_GET['class'] : NULL; $cycle = !empty ( $_GET['cycle'] ) ? $_GET['cycle'] : NULL; $iduser = !empty ( $_SESSION['id'] ) ? $_SESSION['id'] : NULL; $serie = !empty ( $_GET['serie'] ) ? $_GET['serie'] : NULL; //Recherche les noms et prenoms des élèves $sql = "SELECT E.* FROM eleve E LEFT JOIN moyenne M ON M.ideleve = E.ideleve WHERE E.class = ? AND E.duser = ? ORDER BY E.nom"; $datas = array($class, $iduser); try { $req = $bdd->prepare($sql); $req->execute($datas); $donnees = $req->fetchAll(); //on stocke le resultat de la requete dans un ARRAY } catch(Exception $e){ die('Erreur : '.$e->getMessage()); } //juste le temps de debuguer... printr_($donnees); ?>
<table> <thead> <?php echo '<tr>'; echo '<th><strong>#</strong></th>'; echo '<th><strong>Nom</strong></th>'; echo '<th><strong><strong>Prenom</strong></th>'; echo '<th><strong>Resultat</strong></th>'; echo '</tr>'; ?> </thead> <tbody> <?php if(!empty($donnees)){ foreach($donnees as $j=>$D){ echo '<tr>'; echo '<td>' .$j .'</td>'; echo '<td>'.$D['nom']. '</td>'; echo '<td>'.$D['prenom'].'</td>'; echo '<td>'.$D['moye'].'</td>'; echo '</tr>'; } } ?> </tbody> </table>
Voilà l'erreur qu'il me renvoie, en lisant le code que tu m'as proposé, il n'ya aucune part où tu accède à la table Moyenne pour recupérer la moyenne de la personne X
Ce qui est vrai je n'avais pas pensée à la JOINTURE
ll faut la modifier comme ceci