ERG::2018-Marmiton

De {}
Révision datée du 19 avril 2018 à 07:50 par Nicolas Dau (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

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>