Problème pour structurer le résultat d'une requete SQL

Problème pour structurer le résultat d'une requete SQL - PHP - Programmation

Marsh Posté le 21-12-2018 à 13:11:36    

Bonjour,
 
ca fait quelques années que je fais du PHP, mais je galère toujours quand il s'agit de (re) structurer des données
je suis entrain de développer un Quizz et cherche un moyen pour structurer le tableau contenant les questions et réponses liées à la question:
 
je voudrais que l'id et le nom des questions deviennent une clé et les réponses les valeurs, sans que les questions soient à chaque fois dupliquées.
Autrement dit que toutes les réponses reliés à une question soient imbriquées dans un array (ou object) question
 
Les tables
questions:
id
question
 
reponses
id
reponse
question_id (foreign key vers questions.id)
 
ex:  
 
Voici le résultat que j'obtiens pour le moment:
 

Code :
  1. [0] =>
  2. question_id = 1
  3. question_question = 'Combien d'enfants avez vous' ?
  4. reponse_id =1
  5. reponse_reponse = 'de 1à 3'
  6. [1] =>
  7. question_id = 1
  8. question_question = 'Combien d'enfants avez vous' ?
  9. reponse_id =2
  10. reponse_reponse = 'de 3à 5'


 
Voici le résultat que je souhaiterais:

Code :
  1. [0] =>
  2. question_id = 1
  3. question_question = 'Combien d'enfants avez vous' ? =>
  4.      [0] => reponse_id =1
  5.      reponse_reponse = 'de 1à 3'
  6.     [1] =>
  7.       reponse_id =1
  8.      reponse_reponse = 'aucun'
  9. [1] =>
  10. question_id = 2
  11. question_question = 'Quell est la couleur du chvale blanc de Napoleon' ? =>
  12.      [0] => reponse_id =1 ?
  13.   reponse_reponse = Blanc'
  14.     [1] =>
  15.       reponse_id =1
  16.      reponse_reponse = 'Noir' ?


 
J'ai essayé en utilisant FETCH Class : Question de PDO
 
l'objet Question est bien créé mais il ne crée pas les objet Réponses, donc finalement ca ne change rien
 
 
 
Comment faire pour structurer cela comme je vorudrais en PHP ? existe t'il une fonction PHP qui pourrait me faciliter la vie ?
j'ai testé en faisant une boucle foreach mais ca ne donne pas ce que je voudrais
 
Meci


Message édité par tompouss le 21-12-2018 à 13:15:01

---------------
collectionneur de pâtes thermiques
Reply

Marsh Posté le 21-12-2018 à 13:11:36   

Reply

Marsh Posté le 21-12-2018 à 23:48:13    

Je te propose le tableau associatif suivant :

Code :
  1.         [question_id] => array(
  2.                                            "question" => question_question,
  3.                                             "reponses" => array(
  4.                                                                            [reponse_id] => reponse_reponse
  5.                                                                            [reponse_id] => reponse_reponse,
  6.                                                                            ...          
  7.                                                                           )                      
  8.                                            ),
  9.         [question_id] => array(
  10.                                            "question" => question_question,
  11.                                            "reponses" => array(
  12.                                                                           [reponse_id] => reponse_reponse
  13.                                                                          ...
  14.                                                                         )
  15.                                         ),
  16.       ...
  17. )


Ca se remplit facilement et ça se lit facilement ;)


Message édité par rufo le 21-12-2018 à 23:52:09

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed