[PHP] Problème avec ce code :
Résolu
NezEnMoins
Messages postés
100
Date d'inscription
Statut
Membre
Dernière intervention
-
NezEnMoins Messages postés 100 Date d'inscription Statut Membre Dernière intervention -
NezEnMoins Messages postés 100 Date d'inscription Statut Membre Dernière intervention -
Bonjour....
J'ai un problème dans ce code PHP, on me renvoie une erreur à la ligne de dessin du tableau, si quelqu'un pouvait m'aider ça serait super !!!
J'ai un problème dans ce code PHP, on me renvoie une erreur à la ligne de dessin du tableau, si quelqu'un pouvait m'aider ça serait super !!!
<html> <head> <title>Liste des produits</title> </head> <body> <? $bd="LaFleur_version2"; $user="root"; $password=""; $cnx = odbc_connect( $bd , $user, $password ); if( ! $cnx ) echo "Impossible de se connecter"; else { $requete= "SELECT pdt_image, pdt_ref, pdt_designation, pdt_prix FROM produit, categorie WHERE categorie.cat_libelle='$categorie' AND produit.pdt_categorie = categorie.cat_code;"; $result=odbc_exec( $cnx , $requete ); while (odbc_fetch_into( $result , $ligne ) ){ echo"<TR><TD>"<img src="../images/'.$ligne[0].'".jpg">"</TD><TD>".$ligne[1]."</TD><TD>".$ligne[2]."</TD><TD>".$ligne[3]."</TD></TR>"}; } ?> </body> </html>
A voir également:
- [PHP] Problème avec ce code :
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
11 réponses
Salut,
Remplace ton tableau par celui-ci :
@+
Remplace ton tableau par celui-ci :
while (odbc_fetch_into( $result , $ligne ) ){ echo '<TR><TD><img src="../images/'.$ligne[0].'.jpg"></TD><TD>'.$ligne[1].'</TD><TD>'.$ligne[2].'</TD><TD>'.$ligne[3].'</TD></TR>'}; }
@+
Salut,
Dans ta ligne :
on dirait bien que tu t'emmêles les pinceaux avec les " et les '... De plus, y a un } qui ne sort de nulle part.
Essaie de mettre ça plutôt :
Ca devrait marcher mieux.
Sinon, donne-nous au moins l'erreur qu'il te renvoie ;)
Au passage, tu n'as pas ouvert de balises <table>, donc je ne garantis pas l'affichage correct sur le navigateur ;)
Bonne chance,
Xavier
Dans ta ligne :
echo"<TR><TD>"<img src="../images/'.$ligne[0].'".jpg">"</TD><TD>".$ligne[1]."</TD><TD>".$ligne[2]."</TD><TD>".$ligne[3]."</TD></TR>"};
on dirait bien que tu t'emmêles les pinceaux avec les " et les '... De plus, y a un } qui ne sort de nulle part.
Essaie de mettre ça plutôt :
echo '<TR><TD><img src="../images/'.$ligne[0].'.jpg"></TD><TD>'.$ligne[1].'</TD><TD>'.$ligne[2].'</TD><TD>'.$ligne[3].'</TD></TR>';
Ca devrait marcher mieux.
Sinon, donne-nous au moins l'erreur qu'il te renvoie ;)
Au passage, tu n'as pas ouvert de balises <table>, donc je ne garantis pas l'affichage correct sur le navigateur ;)
Bonne chance,
Xavier
Ok merci j'ai fait l'abruti j'avais pas vu merci beaucoup et maintenant il me renvoie : Notice: Undefined variable: categorie in c:\program files\easyphp1-8\www\version2\produits.php on line 17
La ligne 17 correspond a la ligne :
Merci beaucoup les gras vous êtes géniaux...
La ligne 17 correspond a la ligne :
AND produit.pdt_categorie = categorie.cat_code;";
Merci beaucoup les gras vous êtes géniaux...
Mais j'ai quand même l'impression que mon problème vient de la ligne du dessus a savoir :
Si un de vous deux pouvait m'aider ça serait formidable...
Merci
WHERE categorie.cat_libelle='$categorie'
Si un de vous deux pouvait m'aider ça serait formidable...
Merci
Effectivement, ta variable $categorie n'a pas l'air d'être définie...
Elle vient d'où ? D'un formulaire ?
Essaie de faire
echo $categorie;
en haut de ta page, voir ce que ça affiche...
Si elle vient d'un formulaire passé en POST, alors il faut l'initialiser de la façon suivante :
$categorie = $_POST['categorie'']
(ou $_GET['categorie] si c'est une variable passée en GET )
Elle vient d'où ? D'un formulaire ?
Essaie de faire
echo $categorie;
en haut de ta page, voir ce que ça affiche...
Si elle vient d'un formulaire passé en POST, alors il faut l'initialiser de la façon suivante :
$categorie = $_POST['categorie'']
(ou $_GET['categorie] si c'est une variable passée en GET )
Il me marque qu'elle n'est pas définie...
J'ai deux fichier php..
Le premier qui s'exécute d'abord :
et le second fichier php est plus haut dans le post..
C'est en fait un site internet utilisant du php qui récupère des données dans une base de donnée Access, la connexion est faite avec un driver ODBC..
Mon site internet est composé de 2frames (a gauche: menu et a a droite: logo) dans la frame de gauche il me récupère les différentes catégories de fleurs que j'ai dans la base de données et quand je clique dessus (c'est la que mon erreur arrive) il devrait apparaitre un tableau récuperant diverses informations sur les différents produits de cette catégorie..
Comment je peux déclarer $categorie ??
Merci
--
Plus tu pedales moins vite...
...Moins t'avance plus vite !!
J'ai deux fichier php..
Le premier qui s'exécute d'abord :
<html> <head> <title>menu</title> <script> function afficherProduits(categ) { document.choixCateg.categorie.value = categ; document.choixCateg.submit(); } </script> </head> <body> <h2>Sté Lafleur</h2> <p><a href="logo.htm" target="page">Accueil</a> <hr> <u><b>Nos produits</b></u> <? $bd="LaFleur_version2"; $user="root"; $password=""; $cnx = odbc_connect( $bd , $user, $password ); if( ! $cnx ) echo "Impossible de se connecter"; else { $requete='select * from categorie;'; $result=odbc_do( $cnx , $requete ); while (odbc_fetch_into($result, $ligne)) { echo '<p><a href="javascript:afficherProduits(\''.$ligne[0].'\')">'.$ligne[1].'</a>'; } } ?> <form name="choixCateg" action="produits.php" target="page" method="post"> <input type="hidden" name="categorie"> </form> </body> </html>
et le second fichier php est plus haut dans le post..
C'est en fait un site internet utilisant du php qui récupère des données dans une base de donnée Access, la connexion est faite avec un driver ODBC..
Mon site internet est composé de 2frames (a gauche: menu et a a droite: logo) dans la frame de gauche il me récupère les différentes catégories de fleurs que j'ai dans la base de données et quand je clique dessus (c'est la que mon erreur arrive) il devrait apparaitre un tableau récuperant diverses informations sur les différents produits de cette catégorie..
Comment je peux déclarer $categorie ??
Merci
--
Plus tu pedales moins vite...
...Moins t'avance plus vite !!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
s'il vous plait aider moi on y est presque...
Merci d'avance...
Merci d'avance...
Ben t'as essayé avec les <table> ?
J'attends ta réponse, moi...
Et si rien ne s'affiche, affiche le code source (html) de ta page et copie-le ici...
Sinon, il va falloir s'assurer que ta requête renvoie bien un résultat.
Pour ça, tente de l'afficher (echo $requete; ), puis lance-la directement dans ta base de données voir si il en sort quelque chose.
J'attends ta réponse, moi...
Et si rien ne s'affiche, affiche le code source (html) de ta page et copie-le ici...
Sinon, il va falloir s'assurer que ta requête renvoie bien un résultat.
Pour ça, tente de l'afficher (echo $requete; ), puis lance-la directement dans ta base de données voir si il en sort quelque chose.
Tu as mon code source de produits.php là :
Lorsque je saisi :
il m'affiche :
Et quand j'exécute la requète sous access il me trouve aucun résultat probablement car il ne comprend pas à quoi correspond : ".$categorie."
Merci de ton aide...
<html> <head> <title>Liste des produits</title> </head> <body> <? $bd="LaFleur_version2"; $user="root"; $password=""; $cnx = odbc_connect( $bd , $user, $password ); if( ! $cnx ) echo "Impossible de se connecter"; else { $categorie = $_POST['categorie']; $requete= "SELECT pdt_image, pdt_ref, pdt_designation, pdt_prix FROM produit, categorie WHERE categorie.cat_libelle='".$categorie."' AND produit.pdt_categorie = categorie.cat_code;"; $result=odbc_exec( $cnx , $requete ); while (odbc_fetch_into( $result , $ligne ) ){ echo '<TR><TD><img src="../images/'.$ligne[0].'.jpg"></TD><TD>'.$ligne[1].'</TD><TD>'.$ligne[2].'</TD><TD>'.$ligne[3].'</TD></TR>'; } } ?> </body> </html>
Lorsque je saisi :
echo $requete;
il m'affiche :
SELECT pdt_image, pdt_ref, pdt_designation, pdt_prix FROM produit, categorie WHERE categorie.cat_libelle='".$categorie."' AND produit.pdt_categorie = categorie.cat_code;
Et quand j'exécute la requète sous access il me trouve aucun résultat probablement car il ne comprend pas à quoi correspond : ".$categorie."
Merci de ton aide...
ça ne change rien mais est-ce que la requète comprend d'où sort '$categorie' ?? dans la première page php.. ???
est-ce que ma liaison est bien faite ???
Merci
est-ce que ma liaison est bien faite ???
Merci
mais est-ce que la requète comprend d'où sort '$categorie' ??
Pour le savoir, écris juste en dessous de $categorie = $_POST['categorie']; :
echo $categorie;
Pour le savoir, écris juste en dessous de $categorie = $_POST['categorie']; :
echo $categorie;
Mais ça ne marche pas non plus il me dit :
Parse error: parse error, expecting `','' or `';'' in c:\program files\easyphp1-8\www\version2\produits.php on line 22
La ligne 22 est celle dessinant le tableau et produits.php le nom du fichier contenant tout ce code..
Merci