des boucles qui permettent de stocker un quizz et ses questions

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : des boucles qui permettent de stocker un quizz et ses questions

Re: des boucles qui permettent de stocker un quizz et ses questions

par princessjj » 07 août 2016, 07:06

bonsoir honnetement je ne te comprends pas du tout si tu pouvais me donner un exemple de ce que tu as en tete parce que je ne sais vraiment pas comment est ce que je dois modifier mes boucles.

Re: des boucles qui permettent de stocker un quizz et ses questions

par moogli » 05 août 2016, 11:10

il faut boucler sur les éléments du formulaire.

idéalement les champs de questions / réponses utilisent la notation tableau pour les noms des champs ce qui permet d'avoir des tableaux coté php pour chaque nom et du coup un foreach et une requête préparée font le boulot en quelques lignes.


@+

Re: des boucles qui permettent de stocker un quizz et ses questions

par princessjj » 05 août 2016, 08:35

Bonjour et merci beaucoup pour ta reponse . Est-ce que tu pourrais stp me donner un exemple de l'insertion pour les questions dont tu as parlé? Parce que en fait les donnees proviennent d'un formulaire ce qui veut dire que je ne sais pas combien de questions l'utilisateur va entrer a l'avance comment gerer l'insertion dans ce cas la et eviter les scenarios ou la question est separer de sa reponse par une iteration:
example:
1.La France se trouve...
2. En Europe
3. en Ethiopie
4. Au Maroc.

Re: des boucles qui permettent de stocker un quizz et ses questions

par moogli » 04 août 2016, 15:52

salut ,

un objet avec des espaces dans les propriétés ce n'est pas envisageable du coup tu as une erreur de syntaxe à la ligne 6 du code que tu as fournit. L'as tu testé ?

ton code fait effectivement ce que tu indiques.
d'après le chose en haut tu as un objet qui contient une propriété nommée Quizz
celle ci contient un tableau dont
- l'index zéro contient un objet ésotérique qui contient le nom du quiz
- l'index 1 contient un objet ésotérique qui contient une question(+ réponses)

Ce système ne peu contenir qu'un seul quiz sinon tu ne peux pas trop savoir quand changer de quiz.

Avec ce système il faut
prendre le tableau qui est dans "Quizz" et utiliser l'index zéro pour ta première insertion
<?php
$n = 'Nom du test'
$stocknom = $mon_object->Quizz[0]->{$n}; // a tester le mieux c'est quand même de changer le nom de la propriété. 
 $insertion1 = "INSERT INTO quizz (nom du quizz)VALUES ('$stocknom')";  // oops requête sql invalide + injection SQL
il faut récupérer la clef primaire du quizz nouvellement ajouté car elle doit être référencé dans la table des questions

ensuite une boucle for de 1 à la fin du tableau Quizz pour insérer les données.


@+

des boucles qui permettent de stocker un quizz et ses questions

par princessjj » 03 août 2016, 19:53

Bonsoir a tous et a toutes :D !
J'ai un std Class ObJect qui se presente comme suit:

Code : Tout sélectionner

std Class Object ( [Quizz]=>Array ( [0]=>std Class Object ( [Nom du quizz]=>quizz un ) [1] => std Class Object ( [question]=>Qui est Jesus Christ? [reponse]=>Le Sauveur et Seigneur de l'humanite [premier leurre]=>un prophete [deuxieme leurre]=>un ange [troisieme leurre]=>un homme ) [2]=>std Class Object ( [question]=>Ou irons nous apres la mort? [reponse]=>Au paradis [premier leurre]=>en enfer [deuxieme leurre]=>nulle part [troisieme leurre]=>au pays des morts ) ) )
j'ai travaille toute la journee mais je n'arrive toujours pas a stocker toute mes questions dans les deux tables suivantes:
table 1: tests
test_id (auto increment)
nomtest
table questions
idquestion (auto increment)
test_id (cle etrangere)
question
reponse
premier leurre
deuxieme leurre
troiseme leurre
J'ai les deux foreach loop suivantes :

Code : Tout sélectionner

$mon_test = $mon_object->Quizz; // Jaccede a la valeur de la propriete quizz de mon objet for($q= 0; $q < count($mon_test); $q++){ // je parcooure mon tableau foreach($mon_test[$q] as $k=>$v){ if($k == "Nom du test"){ $stocknom = $mon_test[$q]->Nom du test; } if($k == "Question"){ $stockquestion = $mon_test[$q]->Question; } if($k == "Reponse"){ $stockreponse = $mon_test[$q]->Reponse; } if($k == "premier leurre"){ $stockleurre1 = $mon_test[$q]->premier leurre; } if($k == "deuxieme leurre"){ $stockleurre2 = $mon_test[$q]->deuxieme leurre; } if($k == "troisieme leurre"){ $stockleurre3 = $mon_test[$q]->troisieme leurre; } } } $insertion1 = "INSERT INTO quizz (nom du quizz)VALUES ('$stocknom')"; if ($my_db_object->query($insertion1) === true){ $last_id = $my_db_object->insert_id;// jen ai besoin pour remplir la cle idtest qui me dit quelle question appartient a quel test $succes = "donnees sauvegardees"; } else{ $failure = "Erreur: " .$insertion1.$my_db_object->error; } $insertion2 = "INSERT INTO questions SET idtest = '".$last_id."', question = '".$stockquestion."', reponse= '".$stockreponse."', incorrect1 = '".$stockleurre1."', incorrect2 = '".$stockleurre2."', incorrect3 = '".$stockleurre3."'"; if ($my_db_object->query($insertion2) === true) { $succes = "donnees sauvees"; } else { $echec = "Erreur: " .$insertion2.$my_db_object->error; }
le premier probleme est que ce code ne stocke qu'une seule question (la derniere) et le truc c'est que si je mets les insertion 1 et deux dans les foreach loop il ya insertion multiples ce dont je ne veux pas. Toute aide sera la bienvenue. Merci de m'avoir lue!