stu76
Messages postés186Date d'inscriptionsamedi 5 mars 2005StatutMembreDernière intervention17 février 2008
-
3 févr. 2006 à 13:35
stu76
Messages postés186Date d'inscriptionsamedi 5 mars 2005StatutMembreDernière intervention17 février 2008
-
4 févr. 2006 à 12:39
Bonjour à tous,
Je vous explique mon prob depuis plusieurs jour malalam(admin cs) et moi nous planchons sur un prob dans mon source.
Nous avons isolé, enfin malalam surtout, que c'est un problème avec la fonction post dans mon code qui pose problème. Pour bien comprendre je vous montre les parties de sources concernées :
Voilà, dans le source, je met en rouge une partie du code parce que au début dans ma requête SQL la variable $id était remplacé par $_POST['categorie'], mais dans ce cas j'avais une erreur SQL, donc pour ne plus avoir ce problème je suis passé par une variable. De plus, perso je trouve ca plus propre.
Le problème c'est que le POST ne nous retourne aucune valeur nous avons fait une batterie de test suffit de voir les "//echo". Je cherche donc a svoir comment on peut récupérer la valeur d'un post et l'affecter à une variable.
Le but du code est de pouvoir afficher une liste de produit par catégorie, l'internaute choisi une catégorie dans le menu déroulant et on affiche uniquement les articles de cette catégorie.
Le but est simple, et je pensais que la solution l'était également mais je me suis planté.
Si quelqu'un pouvait nous éclairer se serait super sympa.
@++
Stu76
bien sur après je donnerais l'entièreté du code source à qui veut.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 3 févr. 2006 à 13:53
Tu postes ton formulaire comment ?? Je te l'ai déjà demandé, et le code que je vois là n'est pas du tout correct par rapport à ce qui t'a été dit dans ton autre post.
stu76
Messages postés186Date d'inscriptionsamedi 5 mars 2005StatutMembreDernière intervention17 février 20081 3 févr. 2006 à 15:06
Re malalam,
Je crois que je me suis mal fait comprendre, le post me renvoi une réponse :
$_POST['categorie'], sauf que je n'arrive pas revenir à sur la valeur 1, lol.
Mon problème réside maintenant dans le faite que je n'arrive pas affecter la valeur du post a ma fonction SQL, or je fais exactement ce que tu me dis.
Je ne sais pas pourquoi j'ai essayé avec une variable $id et avec ='.$
_POST['categorie']; en fin de requête SQL, rien a faire bien sur je continue à chercher
stu76
Messages postés186Date d'inscriptionsamedi 5 mars 2005StatutMembreDernière intervention17 février 20081 3 févr. 2006 à 15:19
je rectifie mon dernier message j'ai bien une valeur qui est effecter à ma requête sql, mais ces cette requêtes maintenant qui pose problème quand je fais un echo $sql1 voici ce qui m'affiche :
SELECT shop_articles.id, shop_articles.nom_article, shop_articles.prix_ht, shop_articles.prix_ttc, shop_articles.rubarticle1, shop_catégories.intitule FROM shop_articles Inner join shop_catégories on shop_articles.rubarticle1=shop_catégories.id where shop_articles.rubarticle1=1
Donc mon post envoi bien une valeur mais, malgrés tout je n'arrive pas a afficher mes articles par catégorie pour info voici une requête sql qui fonctionne mais elle affiche l'ensemble des catégories elle ne me permet pas d'afficher une d'entre elle.
SELECT shop_articles.id, shop_articles.nom_article, shop_articles.prix_ht, shop_articles.prix_ttc, shop_articles.rubarticle1, shop_catégories.intitule
FROM shop_articles Inner join shop_catégories on shop_catégories.id=shop_articles.rubarticle1 where shop_articles.rubarticle1=shop_catégories.id'
stu76
Messages postés186Date d'inscriptionsamedi 5 mars 2005StatutMembreDernière intervention17 février 20081 3 févr. 2006 à 15:44
Malalam je viens de retouner le problème dans tout les sens et la je deviens fous, j'ai bien la valeur du post qui s'affiche quand je fais echo 'categorie = ', $_POST['categorie'];
Mais la fonction $_POST['categorie'], m'affiche un message d'erreur quand je le place dans ma requête, quand je passe par une variable id pas de prob. Mais je n'ai pas mais donné qui s'affiche dans mon tableau pq ? je comprend pas.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 3 févr. 2006 à 15:46
J'abandonne, tu ne lis pas, je t'assure, c'est désespérant!
Tu te sers d'une variable AVANT de savoir si elle existe. Ca t'a été dit maintes fois, et là, dans ton dernier code, tu le fais tjrs!
stu76
Messages postés186Date d'inscriptionsamedi 5 mars 2005StatutMembreDernière intervention17 février 20081 3 févr. 2006 à 16:04
Merci, quand même malalam mais si j'étais un champion du php je solliciterais pas l'aide de la communauté.
Merci pour ton aide pour info je viens de rectifier une partie du code qui est ci dessous, mais moi je ne vois pas ce que tu me demande je suis débutant en php par expert.
<?php
if(isset($_POST['categorie']) and is_numeric($_POST['categorie']))
{
mysql_select_db($database_ecommerce, $ecommerce);
$sql1="SELECT shop_articles.id, shop_articles.nom_article, shop_articles.prix_ht, shop_articles.prix_ttc, shop_articles.rubarticle1, shop_catégories.intitule
FROM shop_articles Inner join shop_catégories on shop_catégories.id=shop_articles.rubarticle1 where shop_articles.rubarticle1=".$_POST['categorie'];
echo 'categorie = ', $_POST['categorie'];
$req=mysql_query($sql1) or die('Erreur SQL!
'.$sql1.'
'.mysql_error());
while ($row_articles=mysql_fetch_row($req))
{
Et la j'ai tj rien sache que je lis tout ce que tu dis et j'essaye de comprendre et d'appliquer mais des choses qui pour toi sons simple voir basic peuvent paraître complexe si pas hyper complexe pour moi.
stu76
Messages postés186Date d'inscriptionsamedi 5 mars 2005StatutMembreDernière intervention17 février 20081 3 févr. 2006 à 16:14
J'ai modifié la requête comme tu mas dit et quand je compile voilà ce qu'il me retourne:
categorie = 2Erreur SQL!
SELECT id, nom_article, prix_ht, prix_ttc, rubarticle1, intitule FROM shop_articles Inner join shop_catégories on shop_catégories.id=shop_articles.rubarticle1 where shop_articles.rubarticle1=2
Column 'id' in field list is ambiguous
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 3 févr. 2006 à 16:22
Il doit mettre les alias, c'est _ça son erreur maintenant...parce qu'il a deux champs 'id' dans 21 tables différentes. D'où l'importance de garder les noms de table, ou au moins des alias de ces tables...
stu76
Messages postés186Date d'inscriptionsamedi 5 mars 2005StatutMembreDernière intervention17 février 20081 3 févr. 2006 à 16:28
Oui donc echo 'categorie = ', $_POST['categorie']; me retourne bien la valeur du post, mais je n'ai rien qui s'affiche dans mon tableau or que une valeur est affecté à ma requête sql voici le résultat
SELECT shop_articles.id, shop_articles.nom_article, shop_articles.prix_ht, shop_articles.prix_ttc, shop_articles.rubarticle1, shop_catégories.intitule FROM shop_articles Inner join shop_catégories on shop_catégories.id=shop_articles.rubarticle1 where shop_articles.rubarticle1=2
Donc quand je sélectionne la 3è ligne il me retoune bien la valeur 2.