Problème affichage BD multiples

Signaler
Messages postés
18
Date d'inscription
jeudi 3 avril 2003
Statut
Membre
Dernière intervention
12 décembre 2004
-
Messages postés
34
Date d'inscription
lundi 15 novembre 2004
Statut
Membre
Dernière intervention
27 octobre 2005
-
Bonjour,

j'ai plusieurs BD : eleve / matières / et exercices
Lorque l'élèv se connecte, il peut afficher la liste des exercices correspondants à sa classe (enfin... en théorie, puisque je n'arrive à faire l'affichage (:

Si je me limite à la liste des exos / à sa classe = ca marche et toutes les matières s'affichent (by order) avec les exercices pour chacune d'entres elles.
MAis je voudrais que l'élève puisse choisir en fonction de chaque matière

Le code, si par exemple l'élève veut consulter les exos en Français et relatifs à sa classe :

$req="SELECT idmatiere, matiere FROM table_matiere WHERE matiere='Français'";
$sql=mysql_query($req);
while ($result=mysql_fetch_array($sql))
{$mat=$result['idmatiere'];
$reqex="select * from _table_exercises where idmatiere='$mat' and classe like '%$classe%' order by name";
$sqlex=mysql_query($reqex);
if (mysql_num_rows($sqlex)!=0)
{echo '<table align="center"><tr><td align="center">'.$result['matiere'].'</td></tr>';

ca coince keke part .... et j'arrive pas à voir ou (:

Si je fait le code suivant, ca amrche
$req="select idmatiere, matiere from table_matiere order by matiere";
$sql=mysql_query($req);
while ($result=mysql_fetch_array($sql))
{$mat=$result['idmatiere'];
$reqex="select * from _table_exercises where idmatiere='$mat' and classe like '%$classe%' order by name";
$sqlex=mysql_query($reqex);
if (mysql_num_rows($sqlex)!=0)
{echo '<table align="center"><tr><td align="center">'.$result['matiere'].'</td></tr>';
echo '<tr><td>';

Merci d'vance pour votre aide !

1 réponse

Messages postés
34
Date d'inscription
lundi 15 novembre 2004
Statut
Membre
Dernière intervention
27 octobre 2005

1 ) Les 'select * from ..' c'est pas génial. Limite plutot tes sélection à l'élement que tu cherche ( ici tu ferais "select matiere from ..." )

2 ) Ensuite il me semble qu'il faut que tu fasse un $result = mysql_fetch_array($sqlex) avant d'utiliser $result['matière'] ;

En fait je comprend pas trop ton code ... a quoi sert le "select * from _table_exercises where idmatiere='$mat' and classe like '%$classe%' order by name" ? Après t'en fait rien ... tu ne fait qu'utiliser le ="select idmatiere, matiere from table_matiere order by matiere" ?

Explique s'il te plait