IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

cherche a formuler une requete sql


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Homme Profil pro
    en étude de webmaster
    Inscrit en
    Février 2016
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : en étude de webmaster

    Informations forums :
    Inscription : Février 2016
    Messages : 125
    Par défaut cherche a formuler une requete sql
    Bonjour.
    Je trouve pas comment formuler une requête.
    J'aimerai faire une requete SELECT sur le champs ref_plat FROM plat_jour-viande qui soit pour la date du jour auquel on visite le site.

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    ben il faut déjà que ta table qui contient les plats du jour possède une colonne date_menu qui permettrait de l'attaquer avec quelque chose dans ce genre :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT ref_plat FROM plat_jour-viande WHERE date_menu = '2017-04-11'
    Là c'est du b-a-ba, faudrait que tu potasses un peu...

  3. #3
    Membre confirmé
    Homme Profil pro
    en étude de webmaster
    Inscrit en
    Février 2016
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : en étude de webmaster

    Informations forums :
    Inscription : Février 2016
    Messages : 125
    Par défaut
    salut.
    Ce que je ne sais pas c'est comment faire une requete qui ferai que:
    Quand on va sur le site ça affiche le plat du jour qui lui a une référence par rapport a une date prévue.
    dans ma table j'ai un champs id_plat_jour-viande, ref_plat, date, type (avec ou sans viande).
    Je trouve pas comment faire une requete "SELECT ref_plat FROM plat_jour-viande WHERE date" mais qui change chaque jour sans avoir besoin de ré-écrire la requete a chaque fois.
    Et mon deuxième problème c'est que le ref_plat est un nombre et j'aimerai qui fasse appel a descriptif qui est assigné.

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par rawsrc Voir le message
    Là c'est du b-a-ba, faudrait que tu potasses un peu...
    Livre ou tuto sur le site de dvp, un truc pas à pas avec les explications qui vont bien

  5. #5
    Membre confirmé
    Homme Profil pro
    en étude de webmaster
    Inscrit en
    Février 2016
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : en étude de webmaster

    Informations forums :
    Inscription : Février 2016
    Messages : 125
    Par défaut
    Salut
    J'ai suivis un cour de PHP MySQL, là je dois rendre un projet pour l'examen pratique.
    C'est juste que je suis un peux perdu, pour trouver un bonne solution pour ma requete.
    Mais merci pour le tuto je vais m'y plonger.

  6. #6
    Membre confirmé
    Homme Profil pro
    en étude de webmaster
    Inscrit en
    Février 2016
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : en étude de webmaster

    Informations forums :
    Inscription : Février 2016
    Messages : 125
    Par défaut
    Bonjour.
    J'ai trouver ça qui dans l'idée me semble juste.
    Le problème c'est l'écriture, pourquoi il me dit que le premier mysqli_result soit un boolean pour passer au second.

    comme message d'erreur il me met ceci:
    Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\MAMP\htdocs\Cours\examen_pratique\test_bd.php on line 14
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $datejour = date("Y-m-d");
     
    $sql = "SELECT ref_plat FROM plat_jour-viande WHERE date = ".$datejour;
     
    $sql1 = "SELECT descriptif FROM plat WHERE id_pat = ".$sql;
     
    $resultat = mysqli_query($connexion, $sql1);
     
    $pjl = mysqli_fetch_assoc($resultat);

  7. #7
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    ton sql est erroné sur le critère date :
    Dans une table avoir comme nom de champ un mot réservé SQL est sacrément problématique : tu dois éviter de nommer ta colonne "date" si tu veux éviter l'utilisation des guillemets inversés (backticks), sois tu renommes ton champ date en date_menu par exemple sois tu l'encadres comme ceci `date`.
    Ensuite une date est considérée comme du texte donc il faut des guillemets :
    essaie comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT ref_plat FROM plat_jour-viande WHERE `date` = '{$datejour}'";

  8. #8
    Membre confirmé
    Homme Profil pro
    en étude de webmaster
    Inscrit en
    Février 2016
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : en étude de webmaster

    Informations forums :
    Inscription : Février 2016
    Messages : 125
    Par défaut
    J'ai mis comme tu me la dit, j'ai modifier ma colone date dans la table.
    J'ai mis $datejour dans les guillemet et dans des apostrophe.
    j'ai essayé avec ou sans les {}.

    Et j'ai toujours le même message d'erreur.
    Je me demande si j'ai mis les bon paramêtre pour la connexion à la base de donnée, c'est bien ("localhost","root","root", "nom de la base de donnée") ?

  9. #9
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Par défaut
    ce dont tu as besoin c'est une jointure entre tes 2 tables qui sont liées par ref_plat de la table plat_jour-viande et par id_pat de la table plat
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $datejour = date("Y-m-d");
     $resultat = mysqli_query($connexion, $sql1);
     
    $pjl = mysqli_fetch_assoc($resultat);
     $sql = " SELECT ref_plat, descriptif FROM plat_jour-viande pj JOIN  plat
                 ON pj.ref_plat =plat.id_pat  WHERE `date` ='".$datejour."'";
     
    $resultat = mysqli_query($connexion, $sql);
     
    $pjl = mysqli_fetch_assoc($resultat);

  10. #10
    Membre confirmé
    Homme Profil pro
    en étude de webmaster
    Inscrit en
    Février 2016
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : en étude de webmaster

    Informations forums :
    Inscription : Février 2016
    Messages : 125
    Par défaut
    super merci pour le coup de main.

    Juste encore une demande, là il me donne la première ligne. et comment je vais chercher la deuxième ligne.

  11. #11
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Par défaut
    Pour afficher plusieurs lignes, il faut faire une boucle while( cf. la définition de la fonction
    mysqli_fetch_assoc)

  12. #12
    Membre confirmé
    Homme Profil pro
    en étude de webmaster
    Inscrit en
    Février 2016
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : en étude de webmaster

    Informations forums :
    Inscription : Février 2016
    Messages : 125
    Par défaut
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Formulation d'une requete sql
    Par kmk2015 dans le forum Requêtes
    Réponses: 0
    Dernier message: 23/04/2015, 12h11
  2. [XL-2010] Formules Excel générées par une requete SQL
    Par BoromSikim dans le forum Excel
    Réponses: 3
    Dernier message: 05/11/2013, 11h16
  3. aide pour formuler une requete sql
    Par viny dans le forum PostgreSQL
    Réponses: 11
    Dernier message: 01/03/2008, 12h20
  4. Réponses: 3
    Dernier message: 20/11/2006, 12h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo