12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- <?php
-
- class Categorie {
- private $bdd;
- private $nomCat;
- private $questsets;
-
- function __construct($nomCat) {
- $this->bdd = new Connector();
- $this->selectCat($nomCat);
- $this->questsets = array();
- $this->load();
- }
-
- private function selectCat($nomCat) {
- $options = array(
- "where" => array(
- array("nom_cat", "=", $nomCat)
- )
- );
-
- if(!is_null($this->bdd->Select('*', 'categorie', $options))) {
- $this->nomCat = $nomCat;
- } else {
- throw new Exception('Catégorie introuvable');
- }
- }
-
- private function load() {
- $options = array(
- "where" => array(
- array("nom_cat", "=", $this->nomCat)
- ),
- "order by" => array("rand()"),
- "limit" => array("2")
- );
-
- $resp = $this->bdd->Select('*', 'reponses', $options);
- foreach($resp as $questset) {
- array_push($this->questsets, new Questset(array($questset['reponse1'], $questset['reponse2'])));
- }
- }
-
- public static function randSelect() {
- $bdd = new Connector();
- $arrayCat = $bdd->Select("*", "categorie");
- $return = array();
- $catIndex = -1;
- $previousIndex = -1;
- for($i = 0; $i < 2; $i++) {
- do {
- $previousIndex = $catIndex;
- $catIndex = rand(0, sizeof($arrayCat)-1);
- } while($catIndex == $previousIndex);
- array_push($return, new Categorie($arrayCat[$catIndex]['nom_cat']));
- }
- return $return;
- }
-
- public function getArray() {
- $questsets = array();
- foreach($this->questsets as $questset) {
- array_push($questsets, $questset->getArray());
- }
- return array(
- "nom_cat" => utf8_encode($this->nomCat),
- "themes" => $questsets
- );
- }
- }
|