Accueil > Forum > > > > Bug dans une double liste
Bug dans une double liste
jeudi 25 mai 2006 à 10:08:29 |
Bug dans une double liste

stu76
|
Bonjour,
Malalam m'a donné des infos hier sur les doubles liste, et je le remercie car ca ma été super utile. J'ai presque résolu le prob sauf que je n'ai pas de résultat retourné par ma deuxième liste. Je m'explique voici une saisie d'écran de l'application que sur laquelle je travail.

Je sélectionne une classe dans la première liste jusque la pas de prob, la liste élèves est directement généré et les résultats du premier élèves s'affiche correctement. Mon prob est quand je sélectionne un autre élèves dans la liste plus rien ne s'affiche au niveau des résultats.
je vous donne ci-dessous la partie de code qui est concernée par ce prob. J'ai déjà passer bcp d'heure sur ce prob et là je galère grave. A l'aide SVP, un petit coup de pouce serait le bien venu.
<td colspan="2" rowspan="2"><strong>Sélection : </strong> <form name="Affichage classe" method="post" action=""> <select name="listeclasse" size="1" onChange="this.form.submit();"> Boucle do while pour l'affiche des classes dans la liste déroulante <?php do { ?> <option value="<?php echo $row_affichageclasse['id_cl']?>"<?php if (!(strcmp($row_affichageclasse['id_cl'], $row_affichageclasse['id_cl']))) {echo "SELECTED";} ?>><?php echo $row_affichageclasse['nom_clas']?></option> <?php //j'affiche l'id } while ($row_affichageclasse = mysql_fetch_assoc($affichageclasse)); $rows = mysql_num_rows($affichageclasse); if($rows > 0) { mysql_data_seek($affichageclasse, 0); $row_affichageclasse = mysql_fetch_assoc($affichageclasse); } ?> </select> </form> </td> <td></td> </tr> <tr bgcolor="#666666"> <td> </td> </tr> <tr> <?php if(isset($_POST['listeclasse']) and is_numeric($_POST['listeclasse'])) // je test si $_POST contient bien quelque chose et si elle est bien numéric. { $sqlelev="SELECT eleves.id_elv, eleves.section, eleves.classe, eleves.nom_elev, eleves.prenom_elev, eleves.id_classe, classe.id_cl FROM eleves inner join classe on classe.id_cl=eleves.id_classe where eleves.id_classe=".$_POST['listeclasse']; $reqelev=mysql_query($sqlelev) or die('Erreur SQL! <br>'.$sqlelev.'<br>'.mysql_error()); $row_affichageeleves=mysql_fetch_array($reqelev,MYSQL_ASSOC); ?> <td colspan="3">Sélectionner un élève : <form name="Affichageeleves" method="post"> <select name="select" onChange="document.getElementById('mainForm').submit();"> <?php for ($i = mysql_num_rows($reqelev) -1; $i >= 0; $i--) { //je récupere le nombre de ligne d'un jeu de résultat Mysql de la variable $reqelev if (!mysql_data_seek($reqelev, $i)) { //déplace le pointeur interne de résultat echo "Ne peut pointer vers la ligne $i : " . mysql_error() . "\n"; //Message en cas d'erreur continue; }
if (!($row = mysql_fetch_assoc($reqelev))) { //j'affecte le resultat du tableau a la variable $row continue; }
echo "<option value=".$row['id_elv'].">".$row['nom_elev'] . " ". $row['prenom_elev']. "</option>"; //affichege des valeurs contnues } ?> </select> </form></td> </tr> <tr> <td width="210"><span class="Style3">Cours</span></td> <td width="250"><span class="Style3">Total en % </span></td> <td><span class="Style3">Décision</span></td> </tr> <tr> <?php if(isset($_POST['listeclasse']) and is_numeric($_POST['listeclasse'])) { $sqlselec="SELECT classe.*, cours.*, resultats.* FROM cours, resultats inner join classe on classe.id_cl=cours.id_classe and cours.id_c=resultats.id_cours where classe.id_cl=".$_POST['listeclasse']; $classe=$sqlselec; $req=mysql_query($classe) or die('Erreur SQL! <br>'.$classe.'<br>'.mysql_error()); while ($row_affichages=mysql_fetch_array($req,MYSQL_ASSOC)) { ?> <td><?php echo $row_affichages['nom_cours']; ?></td> <td><?php echo $row_affichages['total_pourc']; ?></td> <td><form name="selection" method="post" action=""> <input type="radio" name="Groupe de boutons radio1" value="bouton radio">TV <input type="radio" name="Groupe de boutons radio1" value="bouton radio">BR <input type="radio" name="Groupe de boutons radio1" value="bouton radio">TV + BR <input type="radio" name="Groupe de boutons radio1" value="bouton radio">Réussit </form></td> </tr> <?php } ?> <tr bgcolor="#CCCCCC"> <td colspan="2"><span class="Style5">Enregister : </span> <form name="form1" method="post" action=""> <input type="submit" name="Submit" value="Ok"> </form></td> <td><form name="form3" method="post" action=""> <input type="radio" name="radiobutton" value="radiobutton"> <span class="Style6">Ajourné</span> <input type="radio" name="radiobutton" value="radiobutton"> <span class="Style6">Att B </span> <input type="radio" name="radiobutton" value="radiobutton"> <span class="Style6">Att A</span> <input type="radio" name="radiobutton" value="radiobutton"> <span class="Style6">Att C</span> </form></td> </tr> <tr> <td colspan="3" bgcolor="#333333"><a href="accueiladmin.php">retour</a></td> </tr> </table> <?php } } mysql_close(); ?> <p> </p> </body> </html> <?php mysql_free_result($affichageclasse);
mysql_free_result($affichageeleves); ?>
Merci a tout ceux que se pancherons sur mon prob.
++
Stu76
|
|
jeudi 25 mai 2006 à 10:23:37 |
Re : Bug dans une double liste

stu76
|
Désolé, j'ai mis le mauvais code, voici celui que j'avais modifier depuis :
<td colspan="2" rowspan="2"><strong>Sélection : </strong> <form name="Affichage classe" method="post" action=""> <select name="listeclasse" size="1" onChange="this.form.submit();"> Boucle do while pour l'affiche des classes dans la liste déroulante <?php do { ?> <option value="<?php echo $row_affichageclasse['id_cl']?>"<?php if (!(strcmp($row_affichageclasse['id_cl'], $row_affichageclasse['id_cl']))) {echo "SELECTED";} ?>><?php echo $row_affichageclasse['nom_clas']?></option> <?php //j'affiche l'id } while ($row_affichageclasse = mysql_fetch_assoc($affichageclasse)); $rows = mysql_num_rows($affichageclasse); if($rows > 0) { mysql_data_seek($affichageclasse, 0); $row_affichageclasse = mysql_fetch_assoc($affichageclasse); } ?> </select> </form> </td> <td></td> </tr> <tr bgcolor="#666666"> <td> </td> </tr> <tr> <?php if(isset($_POST['listeclasse']) and is_numeric($_POST['listeclasse'])) // je test si $_POST contient bien quelque chose et si elle est bien numéric. { $sqlelev="SELECT eleves.id_elv, eleves.section, eleves.classe, eleves.nom_elev, eleves.prenom_elev, eleves.id_classe, classe.id_cl FROM eleves inner join classe on classe.id_cl=eleves.id_classe where eleves.id_classe=".$_POST['listeclasse']; $reqelev=mysql_query($sqlelev) or die('Erreur SQL! <br>'.$sqlelev.'<br>'.mysql_error()); $row_affichageeleves=mysql_fetch_array($reqelev,MYSQL_ASSOC); ?> <td colspan="3">Sélectionner un élève : <form name="Affichageeleves" method="get"> <select name="select" onChange=""> <?php for ($i = mysql_num_rows($reqelev) -1; $i >= 0; $i--) { //je récupere le nombre de ligne d'un jeu de résultat Mysql de la variable $reqelev if (!mysql_data_seek($reqelev, $i)) { //déplace le pointeur interne de résultat echo "Ne peut pointer vers la ligne $i : " . mysql_error() . "\n"; //Message en cas d'erreur continue; }
if (!($row = mysql_fetch_assoc($reqelev))) { //j'affecte le resultat du tableau a la variable $row continue; }
echo "<option value=".$row['id_elv'].">".$row['nom_elev'] . " ". $row['prenom_elev']. "</option>"; //affichege des valeurs contnues } ?> </select> <input type="submit" name="Submit" value="OK"> </form></td> </tr> <tr> <td width="210"><span class="Style3">Cours</span></td> <td width="250"><span class="Style3">Total en % </span></td> <td><span class="Style3">Décision</span></td> </tr> <tr> <?php if(empty($_GET['select'])) { $eleves=$_GET['select']; $sqlselec="SELECT classe.*, cours.*, resultats.*, eleves.* FROM cours, resultats, eleves inner join classe on classe.id_cl=cours.id_classe and cours.id_c=resultats.id_cours and resultats.id_eleves=eleves.id_elv where eleves.id_elv='$eleves'"; $classe=$sqlselec; $req=mysql_query($classe) or die('Erreur SQL! <br>'.$classe.'<br>'.mysql_error()); while ($row_affichages=mysql_fetch_array($req,MYSQL_ASSOC)) { ?> <td><?php echo $row_affichages['nom_cours']; ?></td> <td><?php echo $row_affichages['total_pourc']; ?></td> <td><form name="selection" method="post" action=""> <input type="radio" name="Groupe de boutons radio1" value="bouton radio">TV <input type="radio" name="Groupe de boutons radio1" value="bouton radio">BR <input type="radio" name="Groupe de boutons radio1" value="bouton radio">TV + BR <input type="radio" name="Groupe de boutons radio1" value="bouton radio">Réussit </form></td> </tr> <?php } ?> <tr bgcolor="#CCCCCC"> <td colspan="2"><span class="Style5">Enregister : </span> <form name="form1" method="post" action=""> <input type="submit" name="Submit" value="Ok"> </form></td> <td><form name="form3" method="post" action=""> <input type="radio" name="radiobutton" value="radiobutton"> <span class="Style6">Ajourné</span> <input type="radio" name="radiobutton" value="radiobutton"> <span class="Style6">Att B </span> <input type="radio" name="radiobutton" value="radiobutton"> <span class="Style6">Att A</span> <input type="radio" name="radiobutton" value="radiobutton"> <span class="Style6">Att C</span> </form></td> </tr> <tr> <td colspan="3" bgcolor="#333333"><a href="accueiladmin.php">retour</a></td> </tr> </table> <?php } } mysql_close(); ?> <p> </p> </body> </html> <?php mysql_free_result($affichageclasse);
mysql_free_result($affichageeleves); ?>
++
Stu76
|
|
jeudi 25 mai 2006 à 10:33:55 |
Re : Bug dans une double liste
|
jeudi 25 mai 2006 à 11:19:09 |
Re : Bug dans une double liste

malalam
|
Hello,
réexplique mieux ton problème, et essaye de nous fournir un code nettoyé de tout artifice...trop compliqué à lire, là!
ceci dit je viens de voir un truc étrange :
if(empty($_GET['select']))
{
$eleves=$_GET['select'];
?? si ton $_GET est vide, alors tu le met dans $eleves...??
Et sur cette liste eleves, il n'y a pas de soumission du formulaire, en plus.
|
|
jeudi 25 mai 2006 à 11:40:27 |
Re : Bug dans une double liste

stu76
|
Salut,
J'ai regardé ce que tu ma dit et effectivement c'était pas clair, maintenant j'arrive a avoir les enregistrement des élèves mais de manière complètement loufoque. Bon je reconnait que mon code les égalements. Mais je suis encore dans la phase débutant du php.
En clair, voici ce qui ce passe a ce stade du code :
Je selectionne une classe et un élèves quand je clique sur OK rien ne se passe mais les donnée affiché dans l'url sont correcte voici un exemple :
[ Lien ]
Si je reselectionne la même classe, truc bizarre il m'affiche la bonne valeur dans marequête sql et les réultats afficher sont bien celui du bon élève. Voici ce qu'affiche le echo de ma requête SQL :
SELECT classe.*, cours.*, resultats.*, eleves.* FROM cours, resultats, eleves inner join classe on classe.id_cl=cours.id_classe and cours.id_c=resultats.id_cours and resultats.id_eleves=eleves.id_elv where eleves.id_elv='18'
Pourquoi, je n'ai pas ce résultat quand je click sur OK ?
Si tu pouvait me guider ce serait très cool de ta part.
Voici le code modifier, en rouge le code qui a mon sens pose des probs :
<form name="Affichage classe" method="post" action=""> <select name="listeclasse" size="1" onChange="this.form.submit();"> Boucle do while pour l'affiche des classes dans la liste déroulante <?php do { ?> <option value="<?php echo $row_affichageclasse['id_cl']?>"<?php if (!(strcmp($row_affichageclasse['id_cl'], $row_affichageclasse['id_cl']))) {echo "SELECTED";} ?>><?php echo $row_affichageclasse['nom_clas']?></option> <?php //j'affiche l'id } while ($row_affichageclasse = mysql_fetch_assoc($affichageclasse)); $rows = mysql_num_rows($affichageclasse); if($rows > 0) { mysql_data_seek($affichageclasse, 0); $row_affichageclasse = mysql_fetch_assoc($affichageclasse); } ?> </select> </form> </td> <td></td> </tr> <tr bgcolor="#666666"> <td> </td> </tr> <tr> <?php if(isset($_POST['listeclasse']) and is_numeric($_POST['listeclasse'])) // je test si $_POST contient bien quelque chose et si elle est bien numéric. { $sqlelev="SELECT eleves.id_elv, eleves.nom_elev, eleves.prenom_elev, eleves.id_classe, classe.id_cl FROM eleves inner join classe on classe.id_cl=eleves.id_classe where eleves.id_classe=".$_POST['listeclasse']; $reqelev=mysql_query($sqlelev) or die('Erreur SQL! <br>'.$sqlelev.'<br>'.mysql_error()); $row_affichageeleves=mysql_fetch_array($reqelev,MYSQL_ASSOC); ?> <td colspan="3">Sélectionner un élève : <form name="Affichageeleves" method="get"> <select name="select" onChange=""> <?php for ($i = mysql_num_rows($reqelev) -1; $i >= 0; $i--) { //je récupere le nombre de ligne d'un jeu de résultat Mysql de la variable $reqelev if (!mysql_data_seek($reqelev, $i)) { //déplace le pointeur interne de résultat echo "Ne peut pointer vers la ligne $i : " . mysql_error() . "\n"; //Message en cas d'erreur continue; }
if (!($row = mysql_fetch_assoc($reqelev))) { //j'affecte le resultat du tableau a la variable $row continue; } echo "<option value=".$row['id_elv'].">".$row['nom_elev'] . " ". $row['prenom_elev']. "</option>"; //affichege des valeurs contenue dans la variable $row } ?> </select> <input type="submit" name="Submit" value="OK"> </form></td> </tr> <tr> <td width="210"><span class="Style3">Cours</span></td> <td width="250"><span class="Style3">Total en % </span></td> <td><span class="Style3">Décision</span></td> </tr> <tr> <?php if(isset ($_GET['select'])) { $id=$_GET['select']; $sqlselec="SELECT classe.*, cours.*, resultats.*, eleves.* FROM cours, resultats, eleves inner join classe on classe.id_cl=cours.id_classe and cours.id_c=resultats.id_cours and resultats.id_eleves=eleves.id_elv where eleves.id_elv='$id'"; echo $sqlselec; $req=mysql_query($sqlselec) or die('Erreur SQL! <br>'.$sqlselec.'<br>'.mysql_error()); while ($row_affichages=mysql_fetch_array($req,MYSQL_ASSOC)) { ?> <td><?php echo $row_affichages['nom_cours']; ?></td> <td><?php echo $row_affichages['total_pourc']; ?></td> <td><form name="selection" method="post" action=""> <input type="radio" name="Groupe de boutons radio1" value="bouton radio">TV <input type="radio" name="Groupe de boutons radio1" value="bouton radio">BR <input type="radio" name="Groupe de boutons radio1" value="bouton radio">TV + BR <input type="radio" name="Groupe de boutons radio1" value="bouton radio">Réussit </form></td> </tr> <?php } ?>
Encore, merci, 
++
|
|
Cette discussion est classée dans : mysql, liste, id, classe, eleves
Répondre à ce message
Sujets en rapport avec ce message
Problème d'un script [ par stu76 ]
Bonsoir,J'ai écris un petit script qui me permet d'afficher les élèves stocker dans une base de données. Mon prob est que l'affichage par classe fonct
Problème de code [ par stu76 ]
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ée
Pb pour inserer dans ma bd une variable d'une liste deroulante [ par neo_tsubasa ]
Bonjour à tous,J'ai un petit pb, j'ai creer une liste deroulante qui va chercher ces données dans ma base de donnée ( cela fonctionne ) . Ensuite je
remplir une liste deroulante en fonction d'une autre [ par gregou9 ]
J'aimerais savoir cmt remplir ma seconde liste deroulante (act) en fonction de la premiere (coffr). Voici mon code:$liste_coffret="SELECT id,nom_fr fr
comment recupérer automatiquement dans les champs d'un formulaire, les donnees affichées aprés selection, dans une liste déroulante ? [ par schmoldu21 ]
Bonjour, je debute en php, et j'ai un formulaire avec une liste deroulante qui est alimentée par une base de donnees mysql, dans ma liste deroulante,
liste deroulante [ par kelkune ]
je galere pr recuperer les resultat de mes lsite deroulante si quelqu'un peum'aider ca serait vriament genial surto u que ca urge assez voila en fait
liste deroulante [ par kelkune ]
je galere pr recuperer les resultat de mes lsite deroulante si quelqu'un peum'aider ca serait vriament genial surto u que ca urge assez voila en fait
Liste déroulante [ par biba00 ]
Salut tout le monde,j'ai utilisé une rquete pour mettre une liste des nom dans une liste déroulante , voici mon code : La liste des modules <
Les listes déroulantes [ par pympc ]
Bonjour à tous et à toutes,Petit nouveau sur ce forum, j'ai décidé d'apprendre le PHP et à gérer des bases de données MySQL, histoire de ne pas trop e
Récuperer les lignes dans liste de selection en php [ par marocmarocmaroc ]
Bonjour, j'ai deux tables famille(id_famille,désignation) et sous famille(id_sous_famille,désignation,id_famille) tel que id_famille est la clé étrang
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
XML ET PHPXML ET PHP par karouani
Cliquez pour lire la suite par karouani RE : GOOGLE MAPRE : GOOGLE MAP par inwebo
Cliquez pour lire la suite par inwebo
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|