Boucle While

omlaly Messages postés 14 Date d'inscription samedi 5 juin 2010 Statut Membre Dernière intervention 7 septembre 2013 - Modifié par omlaly le 25/08/2013 à 16:43
omlaly Messages postés 14 Date d'inscription samedi 5 juin 2010 Statut Membre Dernière intervention 7 septembre 2013 - 7 sept. 2013 à 10:24
Bonjour,

J'ai fait un code qui marche qui permet d'aller chercher des questions dans la base de données (5 au maximum).

Néanmoins, je rencontre un problème : Quoique le nombre de questions, il me met 5 champs de réponses (pour l'instant : j'ai mis qu'un texte "Réponse").

J'aimerais afficher les champs de réponses par rapport au nombre de questions (exemple : s'il y a 3 questions, afficher que 3 champs de réponses, etc...)

Est-ce qu'il faut que je rajoute 5 requêtes SQL pour lui dire : "si tu trouves" le nombre de questions "alors tu affiches" le nombre de champs de réponses correspondantes ? Mais, je pense qu'il existe une solution que vous allez me dire ;)

Voici la boucle (tout marche sauf le nombre champ de réponse) :
 while($donnees_messages = mysql_fetch_assoc($query_selection_questions))
 {
echo '<td colspan="4" class="titre">'.$donnees_messages['titre'].'</td>';

echo '  </tr><tr>
    <td colspan="4" class="titre_question">'.$donnees_messages['premiere_question'].'</td>';
 echo '</tr>
  <tr><td colspan="4">REPONSE</td>';
 echo ' </tr>
  <tr>
    <td colspan="4" class="titre_question">'.$donnees_messages['deuxieme_question'].'</td>';
 echo '</tr>
  <tr><td colspan="4">REPONSE</td>';
 echo ' </tr>
  <tr>
    <td colspan="4" class="titre_question">'.$donnees_messages['troisieme_question'].'</td>';
 echo '</tr>
  <tr><td colspan="4">REPONSE</td>';
 echo ' </tr>
  <tr>
    <td colspan="4" class="titre_question">'.$donnees_messages['quatrieme_question'].'</td>';
 echo '</tr>
  <tr><td colspan="4">REPONSE</td>';
 echo ' </tr>
  <tr>
    <td colspan="4" class="titre_question">'.$donnees_messages['cinquieme_question'].'</td>';
 }
}


Ce sont les
<td colspan="4">REPONSE</td>';
qui doivent s'afficher selon le nombre de questions. Avec ce code, il n'en tient pas compte.

En attendant vos lumières, je continue mes recherches...
Cordialement

13 réponses

omlaly Messages postés 14 Date d'inscription samedi 5 juin 2010 Statut Membre Dernière intervention 7 septembre 2013
26 août 2013 à 13:04
Bonjour,

J'ai réglé, en partie, mon problème en faisant cinq requêtes.
Je rencontre un autre problème sur mes requêtes SQL : elles fonctionnent mais elles me renvoient les champs où il y a rien (chaines vides) alors que je voudrais ne pas sélectionner les chaines de caractères nulles. Je sais qu'il y a une différence entre
" "
et
NULL
.

J'ai essayé sur PHPMyAdmin plusieurs requêtes SQL pour lesquelles il me renvoie les champs où il y a rien.

Voici la dernière requête SQL (de la première question) testée :
SELECT * FROM table WHERE premiere_question_examen !=null AND deuxieme_question_examen is null AND troisieme_question_examen is null AND quatrieme_question_examen is null AND cinquieme_question_examen is null


Merci, je vous tiens au courant !
Cordialement
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
26 août 2013 à 14:58
pour tester un champs NULL utilise empty()

mais je trouve que tu n'a pas bien structurer ta base.

tu devrais avoir 3 tables, l'une pour les sujets, pour les questions et pour les réponses :

Structure :
table SUJETS : IDSUJET - SUJET
table QUESTIONS : IDQUESTION - IDSUJET - QUESTION
table REPONSES : IDREPONSE - IDQUESTION - REPONSE

Selection (de mémoire) :
SELECT 
  s.idsujet, s.sujet, q.idquestion, q.question, r.idreponse, r.reponse
FROM 
  sujets AS s, questions AS q, reponses AS r 
WHERE 
  s.idsujet=%s AND 
  q.idsujet=s.idsujet AND 
  r.idquestion=q.idquestion 
ORDER BY 
  q.idquestion, r.idreponse ASC


afin d'avoir une structure en arbre :

SUJET
  -> QUESTION
    -> REPONSE
    -> REPONSE
    -> REPONSE
  -> QUESTION
    -> REPONSE
    -> REPONSE
  -> QUESTION
    -> REPONSE
    -> REPONSE
    -> REPONSE
    -> REPONSE
0
Bonjour,

Merci de ta réponse.

Mais comment tu fais pour enregistrer le nombre de questions que l'utilisateur veut (par exemple : si l'utilisateur veut poster 3 questions, il faudra sauvegarder les 3).
Sachant que je voudrais mettre des champs textes pour pouvoir répondre sous chaque question ce qui empêche de sauvegarder des questions d'un thème).
Actuellement, je limite le nombre de questions à 5 en faisant des champs SQL (premierequestion, deuxiemequestion, etc...) avec des champs en varchar(255).

As-tu une idée pour contourner ce problème ?

Cordialement
0
omlaly Messages postés 14 Date d'inscription samedi 5 juin 2010 Statut Membre Dernière intervention 7 septembre 2013
27 août 2013 à 09:13
Bonjour,

Merci de ta réponse mais actuellement je réfléchi sur le code qui permettra de rajouter, d'intercaler une ligne après chaque enregistrement trouvé.

Il ne fonctionne pas mais je vous explique mon raisonnement.

Tant qu'il y a des enregistrements dans la base de données, il les parcoure pour les afficher dans un tableau puis après chaque lignes d'enregistrement, faire un
echo
d'une ligne d'un tableau et de mettre un champs texte à l'intérieur puis quand il n'y a plus d'enregistrement, tout s'arrête.

J'ai essayé, tant bien que mal, de faire une boucle
for
qui ne fonctionne pas. J'aimerais qu'elle dise : "pour chaque enregistrement trouvé, ajouter
</tr><tr><td colspan="4">REPONSE</td></tr>
après.".

Est-ce que je me trompe dans cette phrase ? Si oui, qu'est-ce qui ne va pas ? Sinon, comment le dire ? Ce qui est sûr, à mon avis, c'est qu'il faut le faire avec une boucle.

Voici la boucle en intégralité :

while($donnees_messages = mysql_fetch_array($query_selection_questions_examen))
 {
	 for($i = 0; $i = ($donnees_messages['intitulé de la colonne'] + 1); $i++) {
    echo '</tr><tr><td colspan="4">REPONSE</td></tr>';

}
echo '<td colspan="4" class="titre">'.$donnees_messages['titre'].'</td>';

echo '  </tr><tr>
    <td colspan="4" class="titre_question">'.$donnees_messages['premiere_question'].'</td></tr>';
 //echo '<tr><td colspan="4">REPONSE</td>';
 echo ' </tr>
  <tr>
    <td colspan="4" class="titre_question">'.$donnees_messages['deuxieme_question'].'</td></tr>';
 //echo '<tr><td colspan="4">REPONSE</td>';
 echo ' </tr>
  <tr>
    <td colspan="4" class="titre_question">'.$donnees_messages['troisieme_question'].'</td></tr>';
 //echo '<tr><td colspan="4">REPONSE</td></tr>';
 echo ' 
  <tr>
    <td colspan="4" class="titre_question">'.$donnees_messages['quatrieme_question'].'</td>';
 //echo '</tr><tr><td colspan="4">REPONSE</td></tr>';
 echo ' 
  <tr>
    <td colspan="4" class="titre_question">'.$donnees_messages['cinquieme_question'].'</td>';
 }
}


Pouvez-vous m'aider ?
Cordialement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
Modifié par BBFUNK01 le 27/08/2013 à 12:53
Hello,

Je pense que tu ne devrais pas nécessairement définir des champs dans tes tables du type "premierequestion", "deuxiemequestion", etc., mais plutôt gérer les questions de façon dynamique, pour la bonne et simple raison que si un jour tu souhaites augmenter le nombre de questions que peut poser un utilisateur tu devras alors reprendre toute la structure de tes tables.

Une solution pourrait être de structurer tes tables comme te la conseillé Foxi, ce sera plus pérenne pour le futur et tu ne seras pas coincé plus tard.

Pour ma part je te conseillerai peut-être (si le contexte s'y prête) de gérer l'association des questions/réponses en comparant les chaînes de caractères des questions lorsque celles-ci sont posées.

Par exemple :

Un utilisateur pose une question -> tu compares cette question avec les questions déjà stockées en base, si une ou plusieurs question(s) stockée(s) en base existe, avec une ou plusieurs réponses en face, tu ne sauvegardes pas la question mais renvoies simplement la ou les réponses trouvées.
Si la question n'existe pas et que par conséquent il n'y a pas de réponse en face -> tu enregistres la question dans ta base et tu y réponds par la suite.

Pour ce faire tu peux insérer une fonction stockée dans MySQL qui te permettra de comparer les chaînes de caractères et de retourner un pourcentage de similarité : pour que ça fonctionne il faut par exemple que tu enregistres temporairement la question posée dans une table de manière à comparer celle-ci avec les champs d'une autre table, et d'analyser s'il y a des similarités (avec un retour en pourcentage).

J'ai fait un petit article sur la fonction permettant de faire ceci sur mon blog (fonction distance de Levenshtein) : http://www.johnweb.fr/blog/categorie-developpement-programmation/article-mysql-fonction-distance-de-levenshtein-id1

A noter que pour que la fonction marche aisément il ne faut pas que tes chaînes excèdent 255 caractères (varchar 255 quoi ;-)).

Après dans la pratique une base pertinente pour tester pourrait ressembler à ça :

Idéalement il faudrait scinder les questions en plusieurs tables pour faciliter l'analyse, en les rangeant suivant la longueur de chaînes de caractères, par exemple :

- questions_50 -> les questions de 0 à 50 caractères
- questions_100 -> les questions de 50 à 100 caractères
- questions_150 -> les questions de 100 à 150 caractères
- questions_200 -> les questions de 150 à 200 caractères
- questions_255 -> les questions de 200 à 255 caractères

Chacune de ces tables contiendrait ces champs :

- id (int auto-incrémenté)
- question (varchar, de 50 à 255)
- reponses (varchar 255)

Pour le champs "réponses" de chacune de ces tables tu pourrais par exemple stocker les id des répondes séparées par des underscores : "_", comme ceci :

1_3_28_47_71

Ainsi lorsqu'une question est posée et que tu trouves une similarité avec une question stockée dans ta base, tu récupères les id stockées dans le champs "réponses" et tu fais un explode sur les underscores pour récupérer un tableau contenant les id des réponses -> reste ensuite à faire une requête sur les éléments du tableau pour pouvoir afficher les réponses.

Pour la table où tu stockes temporairement la ou les questions à comparer :

Table "tmp" :

- id (int)

- quest (varchar 255)

Pour comparer les chaînes tu peux faire cela lorsqu'une question est posée :

$question = htmlspecialchars($_POST['question_utilisateur']);

$len = strlen($question);

if($len <= 50){
    
    $pct = 90;
    
    $req = $pdo->prepare("SELECT question, quest, LEVENSHTEIN_RATIO(question, quest) as textDiff
                          FROM questions_50, tmp
                          HAVING textDiff >= :pct ORDER BY textDiff DESC");
    
}else if($len > 50 &&$len <= 100){
    
    $pct = 85;
    
    $req = $pdo->prepare("SELECT question, quest, LEVENSHTEIN_RATIO(question, quest) as textDiff
                          FROM questions_100, tmp
                          HAVING textDiff >= :pct ORDER BY textDiff DESC");
    
}else if($len > 100 &&$len <= 150){
    
    $pct = 80;
    
    $req = $pdo->prepare("SELECT question, quest, LEVENSHTEIN_RATIO(question, quest) as textDiff
                          FROM questions_150, tmp
                          HAVING textDiff >= :pct ORDER BY textDiff DESC");
    
}else if($len > 150 &&$len <= 200){
    
    $pct = 75;
    
    $req = $pdo->prepare("SELECT question, quest, LEVENSHTEIN_RATIO(question, quest) as textDiff
                          FROM questions_200, tmp
                          HAVING textDiff >= :pct ORDER BY textDiff DESC");
    
}else if($len > 200 &&$len <= 255){
    
    $pct = 70;
    
    $req = $pdo->prepare("SELECT question, quest, LEVENSHTEIN_RATIO(question, quest) as textDiff
                          FROM questions_255, tmp
                          HAVING textDiff >= :pct ORDER BY textDiff DESC");
    
}

$req->execute(array(":pct" => $pct));
$results = $req->rowCount();

if($results == 0){
    
    echo "Pas de réponse à ta question coco !";
    
}else if($results > 0){
    
    $reponses = array();
    
    $nb = 0;
    
    while($d = $req->fetch()){
        
        $rep = $d['reponses']; // tu récupères les réponses
        $sim = $d['textDiff']; // tu récupères le pourcentage de similarité après comparaison
        
        $my_reponses = explode("_",$rep); // tu récupères les id des réponses
        
        $reponses[$nb] = array($sim,$my_reponses); // ici tu ranges le pourcentage et les id des réponses associées dans le tableau "reponses"
        
        $nb++;
        
    }
    
}

// Affichage des reponses
// tu peux alors afficher à l'utilisateur les réponses selon le pourcentage de ton choix, par exemple n'afficher que les réponses dont le pourcentage est supérieur à 90% :

for($i = 0; $i < count($reponses); $i++){
    
    if($reponses[$i][0] >= 90){
        
        for($j = 0; $j < count($reponses[$i][1]); $j++){
            
            $rep = $pdo->pepare("SELECT * FROM reponses WHERE id = :id");
            $rep->execute(array(":id" => $reponses[$i][1][$j]));
            
            while($d = $rep->fetch()){
                
                $reponse = $d['reponse'];
                echo 'Réponse N°'.$j.' / pertinente à '.$reponses[$i][0].'% : '.$reponse.'<br>';
                
            }
                        
        }
        
    }
    
}


Bref, une piste à creuser qui à mon avis pourrait peut-être plus simple à maintenir dans le temps.

A+

BBFUNK01

//C'est en forgeant qu'on devient forgeron... ;-) ;

[ www.johnweb.fr]
0
omlaly Messages postés 14 Date d'inscription samedi 5 juin 2010 Statut Membre Dernière intervention 7 septembre 2013
27 août 2013 à 15:33
Bonjour,

Je suis d'accord avec vous deux pour la modification pour les questions, je vais le faire. Un problème en moins ;) !
Néanmoins, le problème restera le même : comment afficher les questions issues de la base de données en rajoutant un champs texte après chaque question ?

Cordialement
0
omlaly Messages postés 14 Date d'inscription samedi 5 juin 2010 Statut Membre Dernière intervention 7 septembre 2013
27 août 2013 à 16:41
Juste une question pour l'insertion des questions :

J'ai fait 3 tables :

questions (id_question (clé primaire), id_cours, libelle_question)

themes (id_theme (clé primaire), autres champs)

reponses (id_reponse (clé primaire), id_question, libelle_reponse)

De plus, j'ai fait cette requête SQL :
ALTER TABLE questions ADD FOREIGN KEY (id_cours) REFERENCES themes(id_theme)
pour relier les bonnes questions aux bons thèmes.

Jusque là, c'est bon ?

Maintenant, j'ai une autre question concernant la requête SQL
INSERT INTO
qui servira pour poster les questions : étant donné que sur ma page HTML, j'ai fait plusieurs champs de texte pour pouvoir écrire les différentes questions : comment je fait pour les insérer dans la base de données ? A mon avis, il ne faut pas les sauvegarder dans le même champs SQL !!!


Merci de vos contributions.
Cordialement
0
omlaly Messages postés 14 Date d'inscription samedi 5 juin 2010 Statut Membre Dernière intervention 7 septembre 2013
28 août 2013 à 09:24
Bonjour,

J'ai fait les modifications pour supprimer la limitation de question dans la base de données.
J'ai tout regroupé sur une table et j'ai supprimé les champs : premiere_question, deuxieme_question, troisieme_question, quatrieme_question, cinquième_question.
Concernant le code PHP pour insérer les questions, actuellement j'ai mis cinq requêtes SQL
INSERT INTO
. Comment faire en sorte pour que ça sauvegarde toutes les questions saisies en une seule requête SQL
INSERT INTO
?
En espérant aussi que je trouve comment ajouter une ligne après chaque ligne d'enregistrement...

Cordialement
0
omlaly Messages postés 14 Date d'inscription samedi 5 juin 2010 Statut Membre Dernière intervention 7 septembre 2013
30 août 2013 à 11:24
Bonjour,

Après avoir fait les modifications pour gérer un nombre de questions aléatoires, je me remet au code !

Voici les deux requêtes SQL :
	$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 MySQL 


Voici les deux boucles imbriquées, c'est là qu'il y a un problème !
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>';
 }
}


J'ai tout regroupé dans une seule table, comme vous me l'avez conseillé, en rajoutant ce champs
type_devoir
dans le but de supprimer la limitation du nombre de questions.

Avec ce code, il m'affiche cinq fois la première question (il y en a deux sur cet exemple) alors que je voudrais qu'il m'affiche la totalité des questions (donc deux dans ce cas) en rajoutant une ligne après chaque question pour pouvoir répondre.

Donc en gros, je voudrais que ça affiche :
QUESTION 1
champs texte
QUESTION 2
champs texte
etc...

Comment faire (incrémentation dans la boucle
while
?) ?

Cordialement
0
omlaly Messages postés 14 Date d'inscription samedi 5 juin 2010 Statut Membre Dernière intervention 7 septembre 2013
30 août 2013 à 11:33
Bonjour,

Après avoir fait les modifications pour gérer un nombre de questions aléatoires, je me remet au code !

Voici les deux requêtes SQL :
$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 MySQL



Voici les deux boucles imbriquées, c'est là qu'il y a un problème !
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>';
 }
}



J'ai tout regroupé dans une seule table, comme vous me l'avez conseillé, en rajoutant ce champs
type_devoir
dans le but de supprimer la limitation du nombre de questions.

Avec ce code, il m'affiche cinq fois la première question (il y en a deux sur cet exemple) alors que je voudrais qu'il m'affiche la totalité des questions (donc deux dans ce cas) en rajoutant une ligne après chaque question pour pouvoir répondre.

Donc en gros, je voudrais que ça affiche :
QUESTION 1
champs texte
QUESTION 2
champs texte
etc...

Comment faire (incrémentation dans la boucle
while
?) ?

Cordialement
0
omlaly Messages postés 14 Date d'inscription samedi 5 juin 2010 Statut Membre Dernière intervention 7 septembre 2013
3 sept. 2013 à 09:26
Bonjour,

Je vais vous poser deux questions :

- Est-il possible d'ajouter des éléments HTML (dans ce cas, des lignes sous forme d'un tableau grâce à un
echo
avec une zone de texte) après chaque enregistrement SQL trouvé ? En gros, je voudrais savoir si c'est possible d'intercaler ou de rajouter des éléments HTML après chaque enregistrement.

Je vous donne un exemple :

PREMIER ENREGISTREMENT
élément HTML ajouté
DEUXIEME ENREGISTREMENT
élément HTML ajouté
etc...

- Si oui, comment ? Avec une boucle ?

Cordialement
0
omlaly Messages postés 14 Date d'inscription samedi 5 juin 2010 Statut Membre Dernière intervention 7 septembre 2013
5 sept. 2013 à 13:34
Bonjour

Il y aurait-il quelqu'un qui aurait une idée comment résoudre le problème (à savoir : comment faire pour intercaler des choses après chaque enregistrement trouvé ?) ?

Si oui, qu'il n'hésite pas...

Cordialement

PS : J'ai pensé à une idée : faire un compteur et que lorsqu'il est divisible par 2, faire un
echo
.



Qu'est-ce que vous en pensez ?
Je cherche, je cherche mais j'aurais besoin de vos lumières...
0
omlaly Messages postés 14 Date d'inscription samedi 5 juin 2010 Statut Membre Dernière intervention 7 septembre 2013
7 sept. 2013 à 10:24
Bonjour,

C'est toujours moi, j'ai trouvé un lien qui explique comment intercaler des résultats dans une boucle
while
. Je ne le mets pas pour ne pas faire de la publicité mais ils disent qu'il faut le faire avec ce code :
if ($compteur%6 == 0) {
    echo 'Tralala';
}
else {
    // Résultat issu de la DB
}


Mais je n'arrive pas à l'intégrer dans mon cas (pour que ça fasse ce que je voudrais). Dans mon cas, il ne faut pas diviser par 6 mais par 2...

Il y a t'il quelqu'un qui peut, cette fois, m'aider pour intégrer ce code dans le mien pour que ça fasse ce que je voudrais ?

Je vous réexplique mon souhait pour que vous comprenez bien ce que je veux :

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 un exemple (ce que je voudrais et ce que je ne vois pas comment faire) :
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)

Voici un exemple (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)

Comment faire le premier cas ?

En espérant qu'il y aura une âme charitable qui me répondra !!!...

Cordialement
0
Rejoignez-nous