Appeller une table et sortir les élements d'une colonne avec un critère donné

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Appeller une table et sortir les élements d'une colonne avec un critère donné

Re: Appeller une table et sortir les élements d'une colonne avec un critère donné

par @rthur » 28 oct. 2015, 09:23

Page blanche = tu as une erreur dans ton code
Suis le tuto ici pour afficher les messages d'erreurs : faq-tutoriels/page-blanche-script-php-c ... 73178.html

Re: Appeller une table et sortir les élements d'une colonne avec un critère donné

par Seusyn » 28 oct. 2015, 01:55

Cela m'affiche une page blanche, je cherche donc à faire sortir l'ingrédien 1 2 ou 3 qui ce sera nommé volaille dans mon Liste_recettes

Re: Appeller une table et sortir les élements d'une colonne avec un critère donné

par @rthur » 27 oct. 2015, 19:53

Je rencontre toujours un problème avec ce code merci d'avance de m'aider.
Avec une description du problème et/ou les messages d'erreurs rencontrés, c'est + simple pour pouvoir t'aider ;)

Re: Appeller une table et sortir les élements d'une colonne avec un critère donné

par Seusyn » 27 oct. 2015, 15:16

Je rencontre toujours un problème avec ce code merci d'avance de m'aider.
<!DOCTYPE html>

<html>

    <head>

        <meta charset="utf-8" />

        <link rel="stylesheet" href="page.css" />
		<link href='https://fonts.googleapis.com/css?family=Shadows+Into+Light' rel='stylesheet' type='text/css'>

        <title>Le Lièvre</title>
		


    </head>



    <body>
	    
<?php
try
{
	// On se connecte à MySQL
	$bdd = new PDO('mysql:host=localhost;dbname=Cuisine;charset=utf8', 'root', 'tm5MRFJP3ymeMQZS');
}
catch(Exception $e)
{
	// En cas d'erreur, on affiche un message et on arrête tout
        die('Erreur : '.$e->getMessage());
}

// Si tout va bien, on peut continuer


$total_Recette = $bdd->query('select COUNT(id) as total from Liste_recettes ');
$total_Recette = $total_Recette->fetch();
$total_Recette = $total_Recette['total'];

$nbrIdRecette= rand(1, $total_Recette);
$sql = "SELECT * FROM Liste_recettes 
  WHERE  Ingredient_1='volaille'
     OR Ingredient_2 ='volaille' 
     OR Ingredient_3 = 'volaille'";
$res = $bdd->query($sql);



while($donnees=$res->fetch())
{



?>
<div class="container_principal">
<?php include("entete.php"); ?>	
<h1 id="viande">Comment cuisiner le Lièvre</h1>

<p class="contenu_recette">Le Lièvre est un gibier qui se cuisine comme la Lapin, on peut en faire de la terrine ou encore le faire en plat en sauce, comme à la moutarde par exemple.
<br />Voici une petite recette que l'ont peut faire avec du lièvre.</p>


    

  
 <?php include($donnees['Nom'] . '.php'); 





</div>
<?php
}

$reponse->closeCursor(); // Termine le traitement de la requête

?>
</body>
</html>

Re: Appeller une table et sortir les élements d'une colonne avec un critère donné

par Ryle » 21 oct. 2015, 10:21

Bonjour,

Le problème vient surtout du nom de tes colonnes en base de données... ceux-ci ne devraient pas comporter d'accent ou de caractères spéciaux autre que - ou _ (il ne faut donc pas d'espace dans un nom de colonne) : " Ingrédient 3" pourrait être renommé en " ingredient_3 " pour éviter les problèmes.

Tu as ensuite un problème de construction dans ta requête. Celle-ci ne doit contenir qu'une seule clause WHERE dans laquelle tu peux avoir plusieurs conditions qui sont alors séparées par des instruction AND ou OR en fonction du besoin
$res = $bdd->query("Liste des recettes * FROM Volaille WHERE id = $nbrIdRecette WHERE Ingrédient 1="Veau" WHERE Ingrédient 2 ="Volaille" WHERE Ingrédient 3 = "Volaille"");
Enfin, les valeurs texte que tu utilises dans ta requête doivent être délimitées par des apostrophes (pour des questions de compatibilité avec les différents SGBD et dans ton cas pour éviter que php ne considère ta guillemet comme la fin de la chaîne de caractère qui constitue ta requête :
$sql = "SELECT * FROM Volaille 
  WHERE id = $nbrIdRecette 
     AND ingredient_1='Veau'
     AND ingredient_2 ='Volaille' 
     AND ingredient_3 = 'Volaille'";
$res = $bdd->query($sql);
Tu peux ensuite construire la requête sql de façon dynamique en fonction de variable ou de paramètre passés par l'utilisateur :
$sql = "SELECT * FROM Volaille 
  WHERE id = $nbrIdRecette ";

if (isSet($ingredient1))
    $sql .= " AND ingredient_1= $ingredient1 ";

if (isSet($ingredient2))
    $sql .= " AND ingredient_2= $ingredient2 ";

$res = $bdd->query($sql);

Re: Appeller une table et sortir les élements d'une colonne avec un critère donné

par Seusyn » 20 oct. 2015, 17:54

Ben mes champs sont au format Text excepté l'ID

Re: Appeller une table et sortir les élements d'une colonne avec un critère donné

par or 1 » 20 oct. 2015, 17:23

il faudrait réviser son sql pour faire des requetes correctes, revoir par exemple ce que peut comporter le nom des champs, des tables ...

Appeller une table et sortir les élements d'une colonne avec un critère donné

par Seusyn » 20 oct. 2015, 17:13

Hello,

alors voilà pour sortir mon include j'aimerais faire sortir id de ingrédient 1 = veau ou ingrédient 2 = truc ou ingrédient 3 = truc
Mais voilà je pense avoir mal fait :
<!DOCTYPE html>

<html>

    <head>

        <meta charset="utf-8" />

        <link rel="stylesheet" href="page.css" />
		<link href='https://fonts.googleapis.com/css?family=Shadows+Into+Light' rel='stylesheet' type='text/css'>

        <title>La Grouse</title>
		


    </head>



    <body>
	    
<?php
try
{
	// On se connecte à MySQL
	$bdd = new PDO('mysql:host=localhost;dbname=Cuisine;charset=utf8', 'root', 'tm5MRFJP3ymeMQZS');
}
catch(Exception $e)
{
	// En cas d'erreur, on affiche un message et on arrête tout
        die('Erreur : '.$e->getMessage());
}

// Si tout va bien, on peut continuer



// On récupère tout le contenu de la table jeux_video
$total_Recette = $bdd->query('select COUNT(id) as total from Liste des recettes ');
$total_Recette = $total_Recette->fetch();
$total_Recette = $total_Recette['total'];

$nbrIdRecette= rand(1, $total_Recette);
$res = $bdd->query("Liste des recettes * FROM Volaille WHERE id = $nbrIdRecette WHERE Ingrédient 1="Veau" WHERE Ingrédient 2 ="Volaille" WHERE Ingrédient 3 = "Volaille"");



while($donnees=$res->fetch())
{



?>
<div class="container_principal">
<?php include("entete.php"); ?>	
<h1 id="viande">Comment cuisiner la Grouse</h1>

<p class="contenu_recette">La Grouse est une volaille sauvage donc elle se cuisine comme n'importe quelle poule, poulet ou même faisant.
<br />Voici une petite recette que l'ont peut faire avec de la grouse.</p>


    

  
 <?php include($donnees['Nom'] . '.php'); ?>





</div>
<?php
}

$reponse->closeCursor(); // Termine le traitement de la requête

?>
</body>
</html>
Merci d'avance