Différences entre les versions de « ERG::2018-Marmiton »

De {}
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

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>