Source (url) | http://curlybraces.be/wiki/index.php/ERG::2018-Marmiton |
---|---|
Site satellite | Curlybraces |
Date | 2018-04-19 08:50:48 |
De {}
Aller à : navigation, rechercher
https://semestriel.framapad.org/p/marmitor
<!doctype html> <html> <head> <meta charset="utf-8"> <link href="https://fonts.googleapis.com/css?family=IBM+Plex+Mono:400i" rel="stylesheet"> <link href="https://fonts.googleapis.com/css?family=IBM+Plex+Sans:700" rel="stylesheet"> <style> body{ margin-left: 30px; } h1{ font-family: 'IBM Plex Mono', monospace; font-size: 14px; } h2{ font-family: 'IBM Plex Sans', sans-serif; font-size: 32px; } h3{ font-family: 'IBM Plex Sans', sans-serif; font-size: 32px; margin-top: 100px; } </style> </head> <body> <h2>Ceci est une recette : </h2> <h1> <?php error_reporting(E_ALL); ini_set('display_errors', 1); $user = "nwe"; $pass = "dhr"; $db = new PDO("mysql:host=localhost;charset=utf8;dbname=marmiton", $user, $pass); //1. récupérer une étape 1 d'une recette au hasard = un élément timing dont le champ étape = 1 //on stocke ensuite l'id de la recette et l'id de cet élément timing dans $recetteId et $etapeId => OK $requete = $db->prepare("SELECT * FROM timing where etape = 1 ORDER BY RAND() LIMIT 1"); $requete->execute(); $results = $requete->fetchAll(PDO::FETCH_ASSOC); $etapeId = $results[0]['id']; $recetteId = $results[0]['recette_id']; echo $etapeId. ' '.$recetteId; // 2. récupérer tous les ingrédients liés à la recette de l'étape récupérée plus haut => tableau d'ingrédients => KO // la voilà la requête pour tous les ingrédients de la recette! $requete = $db->prepare('SELECT * FROM ingredient JOIN timing_ingredient on timing_ingredient.ingredient_id = ingredient.id JOIN timing on timing_ingredient.timing_id = timing.id where timing.recette_id ='.$recetteId); $requete->execute(); $ingredientsRecette = $requete->fetchAll(PDO::FETCH_ASSOC); print_r($ingredientsRecette); /* 3. récupérer tous les ingrédients liés à l'étape 1 récupérée plus haut => OK $requete = $db->prepare("SELECT * FROM timing_ingredient WHERE timing_id=' .$etapeId); $requete->execute(); $results = $requete->fetchAll(PDO::FETCH_ASSOC); $ingredientEtape1 = $results[][ingredient_id]; $print_r($ingredientEtape1); * 4. récupérer tous les gestes liés à l'étape 1 récupérée plus haut => OK $requete = $db->prepare("SELECT * FROM timing_geste WHERE timing_id=' .$etapeId); $requete->execute(); $results = $requete->fetchAll(PDO::FETCH_ASSOC); $gesteEtape1 = $results[][geste_id]; $print_r($gestetEtape1); * 5. récupérer tous les outils liés à l'étape 1 récupérée plus haut => OK $requete = $db->prepare("SELECT * FROM timing_outil WHERE timing_id=' .$etapeId); $requete->execute(); $results = $requete->fetchAll(PDO::FETCH_ASSOC); $outilEtape1 = $results[][outil_id]; $print_r($outilEtape1); * 6. afficher l'étape 1 de la recette => KO $etape1 = Array(); $etape1 = [$ingredientEtape1, $gesteEtape1, $outilEtape1]; * * 7. répéter le point 1 pour un champ étape = 2 => id_recette, id_timing *$requete = $db->prepare("SELECT * FROM timing where etape = 2 ORDER BY RAND() LIMIT 1"); $requete->execute(); $results = $requete->fetchAll(PDO::FETCH_ASSOC); $etapeId2 = $results[0]['id']; * 8. répéter les points de 4 à 5 pour l'étape 2 récupérée plus haut $requete = $db->prepare("SELECT * FROM timing_geste WHERE timing_id=' .$etapeId); $requete->execute(); $results = $requete->fetchAll(PDO::FETCH_ASSOC); $gesteEtape2 = $results[][geste_id]; $print_r($gestetEtape2); $requete = $db->prepare("SELECT * FROM timing_outil WHERE timing_id=' .$etapeId); $requete->execute(); $results = $requete->fetchAll(PDO::FETCH_ASSOC); $outilEtape2 = $results[][outil_id]; $print_r($outilEtape2); * 9. afficher l'étape 2 en remplaçant les ingrédients par les ingrédients contenus dans le tableau d'ingrédients => KO $etape2 = Array(); $etape1 = [$ingredientEtape1, $gesteEtape2, $outilEtape2]; $requete = $db->prepare("SELECT * FROM timing where etape = 1 ORDER BY RAND() LIMIT 1"); $requete->execute(); $results = $requete->fetchAll(PDO::FETCH_ASSOC); $etapeId = $results[0]['id']; 2. récupérer tous les ingrédients liés à la recette de l'étape récupérée plus haut => tableau d'ingrédients => KO $requete = $db->prepare('SELECT * FROM ingredient JOIN timing_ingredient on timing_ingredient.ingredient_id = ingredient.id where recette_id = $etapeId['recette_id']); $requete->execute(); $ingredientRecette = $requete->fetchAll(PDO::FETCH_ASSOC); print_r($ingredientRecette); * 3. récupérer tous les ingrédients liés à l'étape 1 récupérée plus haut => OK $requete = $db->prepare("SELECT * FROM timing_ingredient WHERE timing_id=$etapeId); $requete->execute(); $results = $requete->fetchAll(PDO::FETCH_ASSOC); $ingredientEtape1 = $results[][ingredient_id]; $print_r($ingredientEtape1); * 4. récupérer tous les gestes liés à l'étape 1 récupérée plus haut => OK $requete = $db->prepare("SELECT * FROM timing_geste WHERE timing_id=$etapeId); $requete->execute(); $results = $requete->fetchAll(PDO::FETCH_ASSOC); $gesteEtape1 = $results[][geste_id]; $print_r($gestetEtape1); * 5. récupérer tous les outils liés à l'étape 1 récupérée plus haut => OK $requete = $db->prepare("SELECT * FROM timing_outil WHERE timing_id=$etapeId); $requete->execute(); $results = $requete->fetchAll(PDO::FETCH_ASSOC); $outilEtape1 = $results[][outil_id]; $print_r($outilEtape1); * 6. afficher l'étape 1 de la recette => KO $etape1 = Array(); $etape1 = [$ingredientEtape1, $gesteEtape1, $outilEtape1]; * * 7. répéter le point 1 pour un champ étape = 2 => id_recette, id_timing *$requete = $db->prepare("SELECT * FROM timing where etape = 2 ORDER BY RAND() LIMIT 1"); $requete->execute(); $results = $requete->fetchAll(PDO::FETCH_ASSOC); $etapeId2 = $results[0]['id']; * 8. répéter les points de 4 à 5 pour l'étape 2 récupérée plus haut $requete = $db->prepare("SELECT * FROM timing_geste WHERE timing_id=$etapeId); $requete->execute(); $results = $requete->fetchAll(PDO::FETCH_ASSOC); $gesteEtape2 = $results[][geste_id]; $print_r($gestetEtape2); $requete = $db->prepare("SELECT * FROM timing_outil WHERE timing_id=$etapeId); $requete->execute(); $results = $requete->fetchAll(PDO::FETCH_ASSOC); $outilEtape2 = $results[][outil_id]; $print_r($outilEtape2); * 9. afficher l'étape 2 en remplaçant les ingrédients par les ingrédients contenus dans le tableau d'ingrédients => KO $etape2 = Array(); $etape1 = [$ingredientEtape1, $gesteEtape2, $outilEtape2];*/ ?> </h1> <h3>ERG_JPO_2018</h3> </body> </html>
Récupérée de « http://curlybraces.be/wiki/index.php?title=ERG::2018-Marmiton&oldid=2258 »