ERG::2018-Marmiton
Révision datée du 19 avril 2018 à 07:50 par Nicolas Dau (discussion | contributions)
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>