Bonjour les amis,
Ceci est mon premier post sur ce forum !!!
Je poste cette discussion car je rencontre un problème sur une bouclequi permettra d'afficher les enregistrements SQL dans un tableau HTML avec une particularité :
Code : Sélectionner tout - Visualiser dans une fenêtre à part while
En effet, je voudrais afficher le résultat d'une base de données (ça je sais faire) en intercalant quelque chose après chaque enregistrement trouvé (c'est là où je cale depuis un certain temps).
Voici les deux requêtes SQL :
J'ai vous met la boucle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $query_selection_auteur= mysql_query("SELECT DISTINCT (t2.nom_auteur) FROM test_site_utilisateur t1, test_site_questions t2 WHERE t1.pseudo_utilisateur='$pseudo_utilisateur' AND t2.password_examen='$password_examen' AND t2.type_devoir='2' AND matiere_cours = '' AND matiere_examen != ''") or die ("Erreur lors de la requête SQL qui permet de récupérer le nom de l'auteur"); // Envoie une requête à un serveur MySQL $query_selection_questions = mysql_query("SELECT texte_question_examen, date_depot_examen, date_examen, titre_examen,duree_examen,matiere_examen, classe_cours_examen, nom_auteur FROM test_site_utilisateur t1, test_site_questions t2 WHERE t1.pseudo_utilisateur='$pseudo_utilisateur' AND t1.pseudo_utilisateur=t2.nom_auteur AND matiere_cours='' AND matiere_examen!='' AND t2.type_devoir='2'")or die ('Erreur lors de la requête SQL qui permet de récupérer les questions'.mysql_error()); // Envoie une requête à un serveur MySQLque j'ai faite mais je n'arrive pas à faire comme le premier exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part while
J'ai mis en commentaire la ligne que je voudrais afficher après chaque enregistrement tant qu'il y en a.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 while($donnees_messages = mysql_fetch_array($query_selection_questions)) { while ($donnees_examen = mysql_fetch_array($query_selection_auteur)) { echo $donnees_examen['nom_auteur']; echo '</div></td><td width="19%"><div class="informations">Date :</div> <div class="informations_recuperees">'.$dateDuJour.'</div></tr>'; echo ' <tr> <td><div class="titre_examen">'.$donnees_examen['titre_examen'].'</div></td> <td colspan="2"><div class="informations">Durée : </div> <span class="informations_recuperees">'.$donnees_examen['duree_examen'].'</div></td> <td></td> </tr> '; echo '<tr><td colspan="4" class="titre_examen">'.$donnees_messages['titre_examen'].'</td></tr>'; echo ' <tr> <td colspan="4" class="titre_question">'.$donnees_messages['texte_question_examen'].'</td></tr>'; //echo '<tr><td colspan="4">REPONSE</td>'; echo ' </tr> <tr> <td colspan="4" class="titre_question">'.$donnees_messages['texte_question_examen'].'</td></tr>'; //echo '<tr><td colspan="4">REPONSE</td>'; echo ' </tr> <tr> <td colspan="4" class="titre_question">'.$donnees_messages['texte_question_examen'].'</td></tr>'; //echo '<tr><td colspan="4">REPONSE</td></tr>'; echo ' <tr> <td colspan="4" class="titre_question">'.$donnees_messages['texte_question_examen'].'</td>'; //echo '</tr><tr><td colspan="4">REPONSE</td></tr>'; echo ' <tr> <td colspan="4" class="titre_question">'.$donnees_messages['texte_question_examen'].'</td>'; } }
Pour résumer, voici les deux cas (il y en a un que je sais faire et l'autre non, c'est sur celui là que je demande votre aide !) :
Ce que je ne sais pas faire (à l'aide !) :
PREMIER ENREGISTREMENT
élément HTML ajouté
DEUXIEME ENREGISTREMENT
élément HTML ajouté
etc... (autant de fois qu'il y a des enregistrements dans la base de données)
Ce que je ne veux pas faire dans ce cas mais ce que je sais faire :
PREMIER ENREGISTREMENT
DEUXIEME ENREGISTREMENT
etc... (autant de fois qu'il y a des enregistrements dans la base de données)
Avant de poster ce message, j'ai quand même réfléchi :
Première solution : Pour chaque enregistrement trouvé dans la base de données, tu l'affiches et tu rajoutes l'élément HTML (donc un) après puis tu passes à l'enregistrement suivant (incrémentation). Tu fais ça pour tout les enregistrements SQL trouvés. J'ai pensé à une boucle
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo
mais je n'arrive pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part for
Deuxième solution : Pourquoi ne pas le faire avec un compteur ? Sur un site, j'ai vu ce code (on teste si le compteur est divisible par 2 et si oui on fait unau bon endroit c'est-à-dire après chaque enregistrement (là aussi il y a un problème avec ce code):
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 if ($compteur%2 == 1) { echo 'Tralala'; } else { // Résultat issu de la DB }
Mais, je n'arrive pas à faire en sorte pour que ça marche pour mon cas.
En une phrase : comment intercaler unaprès chaque enregistrement SQL trouvé dans une boucle
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo
?
Code : Sélectionner tout - Visualiser dans une fenêtre à part while
Pouvez-vous m'aider ?
Comment faire le premier cas ?
Cordialement
Partager