ERG::2018-Marmiton

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

IMG 8584.jpg

Marmiton db nb.jpg


IMG 2473.jpg


Screen Shot 2018-04-19 at 09.27.png

Screen Shot 2018-04-19 at 09.27.36.png

Screen Shot 2018-04-19 at 09.27.50.png
<!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 »

Dernière modification effectuée le 12 juin 2018.