Afficher les donnes d'une base en 2 tableaux ou plus

Fermé
madybagayoko1 Messages postés 12 Date d'inscription jeudi 30 avril 2020 Statut Membre Dernière intervention 4 mai 2020 - 30 avril 2020 à 12:11
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 4 mai 2020 à 08:41
bonjour, je voudrai affiche les donnes d'une base en 2 tableaux différents avec la boucle while .ou s'il y a d'autre méthode encore plus simple, vraiment je suis bloqué.

c'est dire j'ai 2 bulletins de note enregistre dans ma base de données que je veux les affichés une sur l'autre
A voir également:

9 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
30 avril 2020 à 12:37
Bonjour,

Oui, tu peux utiliser une boucle
while ou for ou foreach ...

Mais sans voir ton code actuel ni savoir ce que tu as essayé, impossible de t'en dire plus !

NB: Pour poster ton code, merci de lire et d'appliquer ce qui est indiqué ici : https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code

NB²: Avant de nous poster ton code, commence par le modifier pour prendre en compte les conseils donnés ici : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code

NB3 : Si ta connexion à ta bdd est faite en PDO, merci d'appliquer également ce qui est marqué là : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs


0
madybagayoko1 Messages postés 12 Date d'inscription jeudi 30 avril 2020 Statut Membre Dernière intervention 4 mai 2020
Modifié le 30 avril 2020 à 14:37
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
        <title>Test</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
    <body>
        <?php //Connection avec la BDD.
        mysql_connect("localhost", "root", "");
        mysql_select_db("vala");
         
        $reponse = mysql_query("SELECT * FROM RANG ORDER BY NOTE DESC");
 
  
        ?>
         
        <table border="3" bordercolor="#87CEFA"  cellspacing="0">
                <tr>
                    <th>ID</th>
                    <th>MATIERE</th>
                    <th>NOTE CLASSE</th>
                    <th>NOTE COMPO</th>
                </tr>
            <?php //On affiche les lignes du tableau une à une à l'aide d'une boucle

            while($donnees = mysql_fetch_array($reponse))
            {
 
            ?>
                <tr>
                    
                    <td><?php echo $donnees['ID'];?></td>
                    <td><?php echo $donnees['MATIERE'];?></td>
                    <td><?php echo $donnees['NOTE CLASSE'];?></td>
                    <td><?php echo $donnees['NOTE COMPO'];?></td>
                </tr>
            <?php
            } //fin de la boucle, le tableau contient toute la BDD
            // mysql_close(); //deconnection de mysql
            ?>
        </table>
  
0
madybagayoko1 Messages postés 12 Date d'inscription jeudi 30 avril 2020 Statut Membre Dernière intervention 4 mai 2020
30 avril 2020 à 14:35
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
30 avril 2020 à 14:43
Déjà, l'extension mysql_* est obsolete
tu dois passer à PDO ou mysqli
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top

Ensuite, que retourne ta requête ? Quelle est la structure de ta table ? (comment se nomme le champ qui contient le nom de l'eleve ?)

Sais tu faire des IF/ELSE ?

SI oui, il te suffit de regarder si le nom de l’élève est le même que le précédent ou non..

Il ne faut pas non plus trier ta requête sur le champ NOTE.. mais par élève


0
madybagayoko1 Messages postés 12 Date d'inscription jeudi 30 avril 2020 Statut Membre Dernière intervention 4 mai 2020
30 avril 2020 à 14:51
Ok , mais c'est le RANG qui tres important pour moi , c'est pourquoi j'ai trier par NOTE.
on peut combiner le IF /ELSE avec while.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
30 avril 2020 à 14:55
Le Rang .. il contient toutes les matières et les élèves ... ou juste la Moyenne par élève ??

Je suppose que tu as d'autres tables ...

Il faudrait nous montrer la structure de ta bdd..

Et oui.. on peut mettre des IF/ELSE dans des WHILE ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
madybagayoko1 Messages postés 12 Date d'inscription jeudi 30 avril 2020 Statut Membre Dernière intervention 4 mai 2020
1 mai 2020 à 10:00
je suis bloque de la restructuration de ma base vue votre explication
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
1 mai 2020 à 10:14
C'est à dire ?
Qu'as tu actuellement ?
A quel niveau bloques tu ?
0
madybagayoko1 Messages postés 12 Date d'inscription jeudi 30 avril 2020 Statut Membre Dernière intervention 4 mai 2020
1 mai 2020 à 10:19
colonne : Matiere Noteclasse NoteCompo NoteCOEF , maintenant le nom des eleves ne peut etre ici sur la meme table a mon avis
0
madybagayoko1 Messages postés 12 Date d'inscription jeudi 30 avril 2020 Statut Membre Dernière intervention 4 mai 2020
1 mai 2020 à 10:24
frachement jai pas d'idée a cree cette table
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
1 mai 2020 à 10:33
Sachant que la structure de ta BDD devrait ressembler à un truc du genre :



bien entendu, tu peux faire un peu différement.. mais c'est un exemple de découpage assez optimal pour gérer plusieurs classes, matières par année scolaire...
A toi de l'adapter à tes besoins.
0
madybagayoko1 Messages postés 12 Date d'inscription jeudi 30 avril 2020 Statut Membre Dernière intervention 4 mai 2020
1 mai 2020 à 10:39
comment tout ça sur un tableau à affichage?
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > madybagayoko1 Messages postés 12 Date d'inscription jeudi 30 avril 2020 Statut Membre Dernière intervention 4 mai 2020
1 mai 2020 à 10:45
Tu peux faire des phrases complètes ??
Comment *quoi* ?
Tout ça ... quoi ?
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024
Modifié le 1 mai 2020 à 10:54
Si ta question est comment faire les requêtes SQL qui te permettrons d'afficher les données voulues... et bien.. il faut que tu apprennes comment on fait des JOINTURES en SQL.

Par exemple,
Récupérer la liste des élèves d'une classe ( de la classe N° 1 pour l'année 2020)
SELECT *
FROM eleve_classe EC
LEFT JOIN eleve E ON E.id = EC.id_eleve
LEFT JOIn classe C  ON C.id = EC.id_classe
LEFT JOIN annee_scolaire A  ON A.id = EC.id_annee
WHERE EC.id_classe = 1
 AND A.annee_debut = 2020
0
madybagayoko1 Messages postés 12 Date d'inscription jeudi 30 avril 2020 Statut Membre Dernière intervention 4 mai 2020 > jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024
1 mai 2020 à 10:51
Merci , beaucoup je vais essaye après je vous tiendrais au courant la suite ... merci infiniment
0
madybagayoko1 Messages postés 12 Date d'inscription jeudi 30 avril 2020 Statut Membre Dernière intervention 4 mai 2020
4 mai 2020 à 06:52
bonjour encore , jai trouve un code que je n'arrive pas a transforme a mon gout
	<?php




define('MIN', 0);
define('MAX', 500);


 for ($T=1; $T <= 3 ; $T++) {
echo "<table border='3' bordercolor='#87CEFA'  cellspacing='0'>
        <tr>
					<th>ID</th>
                    <th>ELEVE</th>
                    <th>MATIERE</th>
                    <th>NOTECLASSE</th>
                    <th>NOTECOMPO</th>
        </tr>
    ";
 
for ($i=1; $i <= 2 ; $i++) {
    echo "<tr>";
    for ($j=1; $j <= 5 ; $j++) {          
        do{
            $ran =  rand(MIN, MAX);
        }while ( $ran % 2 == 0) ;
                         
        echo "<td>".$ran."</td>";
    }
    echo "</tr>";
}
 
echo "</table>";
}
	
?>




0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
4 mai 2020 à 08:41
- A quoi correspondent les champs NOTECLASSE et NOTECOMPO dans ta table ?

- Dans le code que tu nous montres... où se trouvent les données issues de ta bdd ?

- L'affichage que tu voulais n'était pas un tableau par élève ?

- Es-tu passé à PDO ou mysqli
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top

- As tu tenu compte de ma proposition d'organisation de tes tables ?
0