Différences entre les versions de « ERG::2018-Marmiton »
Aller à la navigation
Aller à la recherche
Ligne 17 : | Ligne 17 : | ||
[[Fichier:Screen Shot 2018-04-19 at 09.27.50.png]] | [[Fichier:Screen Shot 2018-04-19 at 09.27.50.png]] | ||
+ | |||
+ | <syntaxhighlight lang="php"><!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> | ||
+ | </syntaxhighlight> |
Version actuelle datée du 19 avril 2018 à 07:50
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>