Affichage dynamique de plusieurs donnée (par matière) dans un tableau
Résolu/Fermé
modemo2018
Messages postés
226
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
-
Modifié le 19 déc. 2019 à 12:38
modemo2018 Messages postés 226 Date d'inscription vendredi 15 novembre 2019 Statut Membre Dernière intervention 13 octobre 2022 - 20 déc. 2019 à 17:09
modemo2018 Messages postés 226 Date d'inscription vendredi 15 novembre 2019 Statut Membre Dernière intervention 13 octobre 2022 - 20 déc. 2019 à 17:09
A voir également:
- Es données fournies dans le fichier à télécharger peuvent être synthétisées par le tableau récapitulatif suivant. dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des 4 premières colonnes. cinq valeurs manquent dans le tableau suivant. retrouvez-les dans votre tableau puis reportez-les, arrondies à l’entier le plus proche, dans la zone de réponse.
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Trier tableau excel - Guide
- Fichier rar - Guide
3 réponses
jee pee
Messages postés
40472
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
24 novembre 2024
9 428
19 déc. 2019 à 12:46
19 déc. 2019 à 12:46
Bonjour,
Il faut que la balise ROW soit dans la boucle, pas en dehors
mettre quelque chose comme
Il faut que la balise ROW soit dans la boucle, pas en dehors
echo '<tr>'; if(!empty($donnees)){ foreach($donnees as $j1=>$D){ echo '<td>'.$j1.'</td>'; echo '<td>'.$D['nomat'].'</td>'; echo '<td>'.$D['notemat']. '</td>'; } } echo '</tr>';
mettre quelque chose comme
if(!empty($donnees)){ foreach($donnees as $j1=>$D){ echo '<tr>'; echo '<td>'.$j1.'</td>'; echo '<td>'.$D['nomat'].'</td>'; echo '<td>'.$D['notemat']. '</td>'; echo '</tr>'; } }
modemo2018
Messages postés
226
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
20 déc. 2019 à 10:24
20 déc. 2019 à 10:24
En fait aulieu d'afficher deux fois la matière, j'ai envie que la matière s'affiche qu'1e seule fois et que les notes s'étales, j'essai plusieurs manières mais je n'arrive pas, quelqu'un peut-il m'aidé?
jordane45
Messages postés
38312
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
20 déc. 2019 à 11:08
20 déc. 2019 à 11:08
Bonjour,
J'ai l'impression que tu nous reposes toujours les mêmes questions....
A croire que d'une réponse à une autre tu n'es pas capable d'appliquer ce qui t'a déjà été expliqué.
Bref,
Prenons ton code et fabriquons un array plus adapté à tes besoins à partir des données issues de ta bdd-
Par exemple :
Et ensuite, pour l'affichage
J'ai l'impression que tu nous reposes toujours les mêmes questions....
A croire que d'une réponse à une autre tu n'es pas capable d'appliquer ce qui t'a déjà été expliqué.
Bref,
Prenons ton code et fabriquons un array plus adapté à tes besoins à partir des données issues de ta bdd-
Par exemple :
<?php //début de ton fichier php .... ça veut dire .. DEBUT !!!: error_reporting ( E_ALL ); ini_set ( 'display_errors', TRUE ); ini_set ( 'display_startup_errors', TRUE ); $class = !empty ( $_GET['class'] ) ? $_GET['class'] : NULL; $nom = !empty ( $_GET['nom'] ) ? $_GET['nom'] : NULL; $prenom = !empty ( $_GET['prenom'] ) ? $_GET['prenom'] : NULL; $cycle = !empty ( $_GET['cycle'] ) ? $_GET['cycle'] : NULL; $ideleve = !empty ( $_GET['ideleve'] ) ? $_GET['ideleve'] : NULL; $iduser = !empty ( $_SESSION['id'] ) ? $_SESSION['id'] : NULL; $typenote1 = 'Note de devoir'; $typenote2 = 'Note de composition'; $sql = "SELECT E.* , M.* FROM note E LEFT JOIN matiere M ON M.idmat = E.idmat WHERE E.typenote = ? AND E.ideleve = ?"; $datas = array($typenote1, $ideleve); 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()); } //pour réorganiser par matière, tu peux : $arrNotesMatiere = array(); if(!empty($donnees)){ foreach($donnees as $D){ $arrNotesMatiere[$D['nomat']][] = $D['notemat']; } } ?>
Et ensuite, pour l'affichage
if(!empty($arrNotesMatiere)){ foreach($arrNotesMatiere as $matiere=>$notes){ echo '<tr>'; echo '<td>'.$matiere.'</td>'; echo '<td>'; if(!empty($notes)){ foreach($notes as $N ){ echo $N . " "; // affichage de la note } echo '</td>'; echo '</tr>'; } }
modemo2018
Messages postés
226
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
20 déc. 2019 à 12:21
20 déc. 2019 à 12:21
c'est au niveau de l'affichage au tableau que j'ai un peu des difficulté
jordane45
Messages postés
38312
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
>
modemo2018
Messages postés
226
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
20 déc. 2019 à 12:26
20 déc. 2019 à 12:26
oui et ?
Tu as testé le code que je t'ai donné ???
Tu peux expliquer en détail ce qui ne te conviens pas dans ce code ?
Tu as testé le code que je t'ai donné ???
Tu peux expliquer en détail ce qui ne te conviens pas dans ce code ?
modemo2018
Messages postés
226
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
20 déc. 2019 à 17:09
20 déc. 2019 à 17:09
MERCI BEAUCOUP, ÇA MARCHÉ COMME JE LE SOUHAITAIS
19 déc. 2019 à 14:52
Voilà ce qui s'affiche, en faite au lieu que la matière s'affiche deux fois je veux qu'elle s'affiche qu'une seule fois et que les notes de chaque matière s'aligne