" "et
NULL.
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
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
SUJET -> QUESTION -> REPONSE -> REPONSE -> REPONSE -> QUESTION -> REPONSE -> REPONSE -> QUESTION -> REPONSE -> REPONSE -> REPONSE -> REPONSE
echod'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.
forqui ne fonctionne pas. J'aimerais qu'elle dise : "pour chaque enregistrement trouvé, ajouter
</tr><tr><td colspan="4">REPONSE</td></tr>après.".
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>'; } }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question$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>'; } } } }
ALTER TABLE questions ADD FOREIGN KEY (id_cours) REFERENCES themes(id_theme)pour relier les bonnes questions aux bons thèmes.
INSERT INTOqui 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 !!!
INSERT INTO. Comment faire en sorte pour que ça sauvegarde toutes les questions saisies en une seule requête SQL
INSERT INTO?
$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
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>'; } }
type_devoirdans le but de supprimer la limitation du nombre de questions.
while?) ?
$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
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>'; } }
type_devoirdans le but de supprimer la limitation du nombre de questions.
while?) ?
echoavec 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.
echo.
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 }