Créé dans le cadre du projet de fin d'année de la promo 2018 de CIR2 de l'ISEN Brest/Rennes, le Burger Quizz est une adaptation numérique du jeu télévisé éponyme, plus précisément d'une épreuve spécifique de ce jeu : le "Sel ou Poivre".

class.categorie.php 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. class Categorie {
  3. private $bdd;
  4. private $nomCat;
  5. private $questsets;
  6. function __construct($nomCat) {
  7. $this->bdd = new Connector();
  8. $this->selectCat($nomCat);
  9. $this->questsets = array();
  10. $this->load();
  11. }
  12. private function selectCat($nomCat) {
  13. $options = array(
  14. "where" => array(
  15. array("nom_cat", "=", $nomCat)
  16. )
  17. );
  18. if(!is_null($this->bdd->Select('*', 'categorie', $options))) {
  19. $this->nomCat = $nomCat;
  20. } else {
  21. throw new Exception('Catégorie introuvable');
  22. }
  23. }
  24. private function load() {
  25. $options = array(
  26. "where" => array(
  27. array("nom_cat", "=", $this->nomCat)
  28. ),
  29. "order by" => array("rand()"),
  30. "limit" => array("2")
  31. );
  32. $resp = $this->bdd->Select('*', 'reponses', $options);
  33. foreach($resp as $questset) {
  34. array_push($this->questsets, new Questset(array($questset['reponse1'], $questset['reponse2'])));
  35. }
  36. }
  37. public static function randSelect() {
  38. $bdd = new Connector();
  39. $arrayCat = $bdd->Select("*", "categorie");
  40. $return = array();
  41. $catIndex = -1;
  42. $previousIndex = -1;
  43. for($i = 0; $i < 2; $i++) {
  44. do {
  45. $previousIndex = $catIndex;
  46. $catIndex = rand(0, sizeof($arrayCat)-1);
  47. } while($catIndex == $previousIndex);
  48. array_push($return, new Categorie($arrayCat[$catIndex]['nom_cat']));
  49. }
  50. return $return;
  51. }
  52. public function getArray() {
  53. $questsets = array();
  54. foreach($this->questsets as $questset) {
  55. array_push($questsets, $questset->getArray());
  56. }
  57. return array(
  58. "nom_cat" => utf8_encode($this->nomCat),
  59. "themes" => $questsets
  60. );
  61. }
  62. }