Affichage de différents quiz
missesmiss
Messages postés
6
Statut
Membre
-
jordane45 Messages postés 40050 Statut Modérateur -
jordane45 Messages postés 40050 Statut Modérateur -
Bonjour,
Je suis débutante en php et comme je dois réaliser une application de quiz en ligne , je me suis bloquée.
Bon mon problème c'est que une fois j'affiche la liste des quiz à passer je ne sais pas comment me diriger vers le quiz choisi (sachant que j'ai une liste de quiz).
Comment retourner le quiz correspondant sachant que les questions et les réponses de chaque quiz doivent être extraites de ma base de données mySql.
Je vous serai reconnaissante si vous me donner un coup de main. Merci!!!
Je suis débutante en php et comme je dois réaliser une application de quiz en ligne , je me suis bloquée.
Bon mon problème c'est que une fois j'affiche la liste des quiz à passer je ne sais pas comment me diriger vers le quiz choisi (sachant que j'ai une liste de quiz).
Comment retourner le quiz correspondant sachant que les questions et les réponses de chaque quiz doivent être extraites de ma base de données mySql.
Je vous serai reconnaissante si vous me donner un coup de main. Merci!!!
A voir également:
- Affichage de différents quiz
- Affichage double ecran - Guide
- Logo quiz - Télécharger - Jeux vidéo
- Windows 11 affichage classique - Guide
- Problème affichage fenêtre windows 10 - Guide
- Problème affichage page internet google chrome ✓ - Forum Google Chrome
3 réponses
Bonjour,
En utilisant une varible GET peut être ?
Par exemple, en regard de chaque quizz (dans ta liste donc...) .. tu places un Lien qui pointe vers une page qui affichera le quizz selectionné.
Et dans l'url .. tu mets une variable GET qui sera, par exemple, l'ID du quizz en question.
Dans la page qui effectuera l'affichage du quizz choisi, tu récupèreras donc l' ID passé en GET ...
et tu t'en serviras dans ta requête de récupération des questions.
En utilisant une varible GET peut être ?
Par exemple, en regard de chaque quizz (dans ta liste donc...) .. tu places un Lien qui pointe vers une page qui affichera le quizz selectionné.
Et dans l'url .. tu mets une variable GET qui sera, par exemple, l'ID du quizz en question.
echo "<a href=affichage_quizz.php?id_quizz=".$id_quizz.">Afficher le quizz</a>";
Dans la page qui effectuera l'affichage du quizz choisi, tu récupèreras donc l' ID passé en GET ...
$id = !empty($_GET['id_quizz']) ? $_GET['id_quizz'] : 0;
et tu t'en serviras dans ta requête de récupération des questions.
$sql = " SELECT * FROM matable WHERE id = '$id' ";
Oula..... alors par où commencer.... ?!!
1 - L'extension mysql que tu utilises est considérée comme obsolète !
Je t'invite à lire ceci : https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
Puis à passer à mysqli ou (de préférence...) à la PDO.
2 - Dans le code suivant:
où as tu vu qu'une balise <p> avait des attributs NAME ou VALUE ???
De plus.... le code :
... sans ECHO ... ne sert à RIEN !
3 - Sais tu ce qu'est une variable GET et comment les utiliser ?
A voir la ligne de code
... j'en doute !
Il te manque un "?" pour séparer l'adresse de la page et la variable... et il manque (dans cette ligne de code....) la variable justement....
Il aurait fallu écrire :
4 - Dans la page qui doit afficher le Quizz.... Il faut récupérer cette variable AVANT de l'utiliser...
C''est là que tu utilises le code que je t'avais donné précédement .. :
Que tu peux ensuite utiliser dans ta requête
5 - Je ne comprends pas pourquoi tu as un troisième fichier quiz1.php ...
vu que ta première page liste les quizz
la seconde, en fonction du quizz selectionné (via le lien cliqué) Affiche le quizz en question.... (avec ses questions et ses réponses....)
Donc ce troisième fichier est inutile.
6 - Prends l'habitude de mettre le "traitement" PHP AU DESSUS du html de tes pages. Ca rend le code plus lisible et plus facile à corriger au cas où.
Par exemple :
Je te laisse apporter ces corrections.... et à revenir APRES si tu rencontres encore des soucis.
1 - L'extension mysql que tu utilises est considérée comme obsolète !
Je t'invite à lire ceci : https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
Puis à passer à mysqli ou (de préférence...) à la PDO.
2 - Dans le code suivant:
<p value="<?php $data['Question']; ?>"name="question">
où as tu vu qu'une balise <p> avait des attributs NAME ou VALUE ???
De plus.... le code :
value="<?php $data['Question']; ?>
... sans ECHO ... ne sert à RIEN !
3 - Sais tu ce qu'est une variable GET et comment les utiliser ?
A voir la ligne de code
<p value = "<?php $data['Nom']; ?>"><a href="passer_q.php"><?php echo $data['Nom']; ?></a></p>
... j'en doute !
Il te manque un "?" pour séparer l'adresse de la page et la variable... et il manque (dans cette ligne de code....) la variable justement....
Il aurait fallu écrire :
<p><a href="passer_q.php?id_Qu="<?php echo $data['id_Qu']; ?>"><?php echo $data['Nom']; ?></a></p>
4 - Dans la page qui doit afficher le Quizz.... Il faut récupérer cette variable AVANT de l'utiliser...
C''est là que tu utilises le code que je t'avais donné précédement .. :
$id = !empty($_GET['id_Qu']) ? $_GET['id_Qu'] : 0;
Que tu peux ensuite utiliser dans ta requête
$sql1 = "SELECT id_q from quiz where id_q = '".$id."'";
5 - Je ne comprends pas pourquoi tu as un troisième fichier quiz1.php ...
vu que ta première page liste les quizz
la seconde, en fonction du quizz selectionné (via le lien cliqué) Affiche le quizz en question.... (avec ses questions et ses réponses....)
Donc ce troisième fichier est inutile.
6 - Prends l'habitude de mettre le "traitement" PHP AU DESSUS du html de tes pages. Ca rend le code plus lisible et plus facile à corriger au cas où.
Par exemple :
<?php
//-------------------------------------------
//récupération des variables:
//-------------------------------------------
$id = !empty($_GET['id_Qu']) ? $_GET['id_Qu'] : 0;
//-------------------------------------------
// Connexion à la BDD
//-------------------------------------------
require_once "fichier_de_cnx_bdd.php";
//-------------------------------------------
// Requête dans la BDD pour récupérer les
// infos du quizz
//-------------------------------------------
$sql1 = "SELECT id_q
FROM quiz
WHERE id_q = '".$id."'";
// ....etc
//-------------------------------------------
// Requête dans la BDD pour récupérer les
// questions du quizz
//-------------------------------------------
$sql = "SELECT id_Qu
,Question
FROM question
WHERE id_q = '".$id."'";
// ....etc
//-------------------------------------------------------------------------//
// Fin du PHP
?>
<!-- Ici ton code HTML -->
<!DOCTYPE html>
<!--[if lt IE 7]><html class="lt-ie9 lt-ie8 lt-ie7" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><![endif]-->
<!--[if IE 7]><html class="lt-ie9 lt-ie8" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><![endif]-->
<!--[if IE 8]><html class="lt-ie9" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><![endif]-->
<!--[if gt IE 8]><!--><html xmlns="http://www.w3.org/1999/xhtml"><!--<![endif]-->
<html>
<head>
<title></title>
</head>
<body>
<!--
Ici le reste de ton code HTML
-->
</body>
</html>
Je te laisse apporter ces corrections.... et à revenir APRES si tu rencontres encore des soucis.
Parse error: syntax error, unexpected '$id' (T_VARIABLE)
<?php require_once("essai_db.php"); ?> <html> <head> <meta charset="utf-8" > <meta name="viewport" content="width=device-width" /> <title></title> </head> <body> <div> <br><br><br><br><br><br><br> <h2> Passez un quiz <br> </h2> <div style="padding-top:10px;" class="row"> <div align="center"> <form method="post" action="passer_q.php"> <table border="4" width="88%"> <tr> <td colspan="3"><h4>Choisir le quiz à passer</h4></td> </tr> <tr> <th>Nom du quiz</th> </tr> <tr> <td> <?php $sql = 'SELECT Nom from quiz_e'; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); While($data = mysql_fetch_array($req)) { ?> <p value = "<?php $data['Nom']; ?>"><a href="passer_q.php"><?php echo $data['Nom']; ?></a></p> <?php } ?> </td> </tr> </table> </form> </div> </div> <hr style="margin: 100px 0 0px;" /> </body> </html><html> <head> </head> <body> <h2> <?php require_once("essai_db.php"); $sql = 'SELECT id_q_e from quiz_e'; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); While($data = mysql_fetch_array($req)){ $sql1 = 'SELECT id_q from quiz where id_q = '.$data['id_q_e']; $req1 = mysql_query($sql1) or die('Erreur SQL !<br>'.$sql1.'<br>'.mysql_error()); While($data1 = mysql_fetch_array($req1)){?> </h2> <div> <form method="post" action="confirm1.php"> <div class="questions"> <strong><br><br> <?php $sql2 = 'SELECT id_Qu,Question from question '; $req2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error()); While($data2 = mysql_fetch_array($req2)) { ?><br><br> <div><p value="<?php $data2['Question']; ?>" name="question"><b> <ol><li><?php echo $data2['Question']; ?></li></ol> </b></p> </strong> <?php $sql3 = "SELECT Reponse from reponse where id_Qu= ".$data2['id_Qu']; $req3 = mysql_query($sql3) or die('Erreur SQL !<br>'.$sql3.'<br>'.mysql_error()); While($data3 = mysql_fetch_array($req3)) { echo $data3['Reponse']; ?> <label><input name="active" type="checkbox" value="1"></label><br> </div> <?php } ?> <?php } ?> <?php } ?> <?php } ?> </form> </div> </body> </html><!DOCTYPE html> <!--[if lt IE 7]><html class="lt-ie9 lt-ie8 lt-ie7" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><![endif]--> <!--[if IE 7]><html class="lt-ie9 lt-ie8" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><![endif]--> <!--[if IE 8]><html class="lt-ie9" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><![endif]--> <!--[if gt IE 8]><!--><html xmlns="http://www.w3.org/1999/xhtml"><!--<![endif]--> <html> <head> <title></title> </head> <body> <h2> <?php require_once('essai_db.php'); $sql = 'SELECT Nom from quiz where id_q=1'; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); While($data = mysql_fetch_array($req)) { ?> <p value="<?php $data['Nom']; ?>" name="nom_q"> <?php echo $data['Nom']; ?> </p> <?php While(!empty($data['id_q'])) { } ?> <?php } ?> </h2> <div> <form method="post" action="confirm1.php"> <div class="questions"> <strong><br><br><?php require_once('essai_db.php'); ?> <?php $sql = 'SELECT id_Qu,Question from question '; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); While($data = mysql_fetch_array($req)) { ?> <br><br> <div><p value="<?php $data['Question']; ?>"name="question"><b> <ol><li><?php echo $data['Question']; ?></li></ol> </b></p> </strong> <?php $sql1 = "SELECT Reponse from reponse where id_Qu= ".$data['id_Qu']; $req1 = mysql_query($sql1) or die('Erreur SQL !<br>'.$sql1.'<br>'.mysql_error()); While($data1 = mysql_fetch_array($req1)) { ?> <?php echo $data1['Reponse']; ?><label><input name="active" type="checkbox" value="1"></label><br> </div> <?php } ?> <?php } ?> <!--div> <button type="submit" class="button small" width="600" onclick="myFunction()" id="submitLogin" > Submit</button></div--> <input type="submit" name="btn_news" value="Ok" class="button small"/> </form> </div> </body> </html>