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.
Version imprimable
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.
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 :
Là c'est du b-a-ba, faudrait que tu potasses un peu...Code:SELECT ref_plat FROM plat_jour-viande WHERE date_menu = '2017-04-11'
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é.
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.
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:Citation:
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:
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);
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:$sql = "SELECT ref_plat FROM plat_jour-viande WHERE `date` = '{$datejour}'";
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") ?
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:
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);
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.
Pour afficher plusieurs lignes, il faut faire une boucle while( cf. la définition de la fonction
mysqli_fetch_assoc)
merci