stu76
Messages postés186Date d'inscriptionsamedi 5 mars 2005StatutMembreDernière intervention17 février 2008
-
4 mai 2006 à 07:39
stu76
Messages postés186Date d'inscriptionsamedi 5 mars 2005StatutMembreDernière intervention17 février 2008
-
4 mai 2006 à 09:12
Bonjour tout le monde ,
Voilà je planche sur un programme scolaire et j'ai un gros prob, je travaille sur un programme qui utilise trois base de données et je dois afficher les enregistrements à partir de ces trois bases. Je m'explique, je dois arriver à la solution suivante : je sélectionne une classe dans une liste déroulante. Une fois la classe sélectionner le nom et le prénom du premier élève s'affiche, les résultats obtenu dans les différent cours que comporte cette section. Pour l'affichage du premier élève pas de prob.
Par contre je galère grave pour afficher les suivants, car au début je travaillais par "id" de l'élève ou je faisait tout simplement id+1 et je passait à l'enregistrement suivant. Le prob est que au début tout les enregistrement se suivent, mais si je supprime un élève, je peux passé de l'id 1 au 5 par exemple si entre temps j'ais supprimer 3 élèves. Donc mon système par id est très foireux, si quelqu'un pouvait m'aider sur se prob se serait sympa.
Voici le code source dans lequel j'ai déjà supprimé le code qui ne fonctionnais pas.
<?php
if(isset($_POST['listeclasse']) and is_numeric($_POST['listeclasse']))
{
mysql_select_db($database_ircxl, $ircxl);
$sqlelev=\"SELECT eleves.id, eleves.section, eleves.classe, eleves.nom, eleves.prenom, eleves.id_classe, classe.id FROM eleves
inner join classe on classe.id=eleves.id_classe where eleves.id_classe=\".$_POST['listeclasse'];
$reqelev=mysql_query($sqlelev) or die('Erreur SQL!
'.$sqlelev.'
'.mysql_error());
$row_affichageeleves=mysql_fetch_array($reqelev,MYSQL_ASSOC);
?>
Nom : <?php echo $row_affichageeleves['nom']?>,
Prénom : <?php echo $row_affichageeleves['prenom']?>,
,
<?php
?>
----
Cours,
Total en % ,
Décision,
----
<?php
if(isset($_POST['listeclasse']) and is_numeric($_POST['listeclasse']))
{
mysql_select_db($database_ircxl, $ircxl);
$sqlselec=\"SELECT classe.*, cours.* FROM cours inner join classe on
classe.id=cours.id_classe where cours.id_classe=\".$_POST['listeclasse'];
$classe=$sqlselec;
$req=mysql_query($classe) or die('Erreur SQL!
'.$classe.'
'.mysql_error());
while ($row_affichages=mysql_fetch_array($req,MYSQL_ASSOC))
{
?>
<?php echo $row_affichages[nom]; ?>,
,
<form name="selection" method="post" action="">
TV
BR
TV + BR
Réussit
</form>,
Je vous rappelle que le but est de rester dans la même classe et de pouvoir passer sur l'élève suivant de la même classe.
Attention, j'ai commencé le php en janvier donc soyez endulgent. J'accepte les critiques mais uniquement les critiques constructives.
C'est un pointeur interne, en fait, sur chaque ligne retournée par une requête. Bref, tu ne bosseras plus sur l'id, mais sur le numéro de ligne (comme retourné par mysql_num_rows())