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

madybagayoko1 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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   Statut Membre Dernière intervention  
 
<!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   Statut Membre Dernière intervention  
 
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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   Statut Membre Dernière intervention  
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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   Statut Membre Dernière intervention  
 
je suis bloque de la restructuration de ma base vue votre explication
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
C'est à dire ?
Qu'as tu actuellement ?
A quel niveau bloques tu ?
0
madybagayoko1 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
frachement jai pas d'idée a cree cette table
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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   Statut Membre Dernière intervention  
 
comment tout ça sur un tableau à affichage?
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > madybagayoko1 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Tu peux faire des phrases complètes ??
Comment *quoi* ?
Tout ça ... quoi ?
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
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   Statut Membre Dernière intervention   > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
- 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