Qui peut corriger mon code php [Résolu]

Signaler
Messages postés
10
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
3 novembre 2010
-
Messages postés
5
Date d'inscription
samedi 28 février 2009
Statut
Membre
Dernière intervention
18 avril 2009
-
Posté le 31/03/2009 à 16:46 ,

----

bonjour mes amis..
j'ai
un problème dans mon code PHP (au niveau de transmission de variable de
page "top_produit.php" vers la page "voir_produit. php")!!!!!!!!
le code de 2 pages comme suit:
_ _ _ _ _ _ _   _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _  _
voir_produit.php

<?php include("header.php"); ?>

<?php include("left.php"); ?>

<?php
include("connectDB.php");
if(isset($_GET['ID']))
{
     $ID=$_GET['ID'];
$req="SELECT Titre_Prod FROM `produits` WHERE `Id_Prod` =$ID ";
$sql=mysql_query($req);
while($resultat=mysql_fetch_array($sql)){
echo $resultat['Titre_Prod'];}}
else {echo("erreur");}?>

<?php include("right.php"); ?>

_ _ _ _ _ _ _ _ _ _ _ _ _ _
top_produit.php

<?php include("connectDB.php");
$req="SELECT `Image_prod`,`Id_Prod` FROM `produits` ORDER BY `Prix_achat` DESC LIMIT 0 , 5";
$sql=mysql_query($req); ?>
<table>
----

<?php while($resultat=mysql_fetch_array($sql))
{ ?>,
\">\" />
</td> <?php }?>

merci...


</td>
</tr>
</tbody>
</table>

10 réponses

Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
25
Salut Hwm,

Il y a ça :
[voir_produit.php?ID=<?php $resultat['Id_Prod']?>
=>
]">

Mais ce n'est peut être pas le seul problème.

Cordialement,

Kohntark -
Messages postés
10
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
3 novembre 2010

merci, je testerai ça et je vous donne la resultat..
Messages postés
10
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
3 novembre 2010

DSL, ne marche pas.. le code d'erreur est:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\wael\voir_produit.php on line 16
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
25
Ce n'est vraisemblablement pas ce que j'ai donné qui ne marche pas mais ta requête.
Il serait bien que tu donnes la ligne en question lorsque tu as une erreur, ça éviterai de chercher trop longtemps.
A quoi ressemble le $ID ? est ce une chaine de caractère ? un int ?

Tu peux essayer avec ça :

$ID=$_GET['ID'];
$req="SELECT Titre_Prod FROM `produits` WHERE `Id_Prod` =$ID ";
$sql=mysql_query($req);
=>
$ID = mysql_real_escape_string($_GET['ID']);
$req = "SELECT Titre_Prod FROM `produits` WHERE `Id_Prod`='$ID'";if (false $sql mysql_query($req)) die ('erreur requête :
'.mysql_error().'
'.$req);

Si tu as une erreur poste la.

Kohntark -
Messages postés
5
Date d'inscription
samedi 28 février 2009
Statut
Membre
Dernière intervention
18 avril 2009

salut hwm86,

amha ton problème vient de la ligne:
$sql=mysql_query($req);

telle que tu l'a écrite, il s'agit d'une fonction php a laquelle il faut d'une part la requête (dans ce cas "$req"), mais aussi la ressource concernée.

bien entendu je ne veux pas voir ton code source de l'accès à la BD, mais je suppose que tu as là une variable comme p.e. $dbLink pour contrôler l'ensemble genre:
$dbLink = mysql_connect($host, $user; $password);
$dbSelect = mysql_select_db($database, $dbLink);
pour avoir une connection à ta BDD.

ensuite (totalement hors contexte) tu place une requête, qui elle ne sait pas à qui elle doit se référer.

ajout donc à ta ligne ce qui correspond à TON "$dbLink" et dis-moi en des nouvelles! :)

exemple: $sql=mysql_query($req, $dbLink);
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
25
Salut Noumenon,

Le second argument de mysql_query est optionnel. S'il n'est pas fourni php utilise la dernière connexion à la base.

Cordialement,

Kohntark -
Messages postés
5
Date d'inscription
samedi 28 février 2009
Statut
Membre
Dernière intervention
18 avril 2009

salut kohntark,

merci pour la réprimande! :)

sais-tu exactement ce qui se passe sur (dans) le code en question? moi non (et vu la question, il n'en est pas sûr non plus!)!

donc: optionnel mais JAMAIS un défaut!
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
25
merci pour la réprimande! :)

= > juste une tite remarque, rien de plus :o)

donc: optionnel mais JAMAIS un défaut!
=> nous sommes bien d'accord mais il est inutile d'écrire du code inutile ;)

Comme je le dis plus haut :
[voir_produit.php?ID=<?php $resultat['Id_Prod']?>
=>
]">

<?php $resultat['Id_Prod']?>
ne donnera rien, il faut faire un echo pour l'envoyer sur le flux HTML

En espèrant que hwm donne une réponse ....

Cordialement,

Kohntark -
Messages postés
2
Date d'inscription
vendredi 25 avril 2008
Statut
Membre
Dernière intervention
18 avril 2009

Vous pouvez  essayer ça sa devrai marcher
 top_produit.php

<?php include("connectDB.php");
$req="SELECT `Image_prod`,`Id_Prod` FROM `produits` ORDER BY `Prix_achat` DESC LIMIT 0 , 5";
$sql=mysql_query($req); ?>
<?php while($resultat=mysql_fetch_array($sql))
{
$Id_Prod=$resultat['Id_Prod'];
$Image_prod=$resultat['Image_prod'];
echo  '';
echo  '''''';
echo  ', '}?>
Messages postés
5
Date d'inscription
samedi 28 février 2009
Statut
Membre
Dernière intervention
18 avril 2009

slt tlm,

amha (interrompez-moi si je dis une bêtise) il n'est jamais bon d'avoir un mélange de codes. mis-à-part le fait que ce n'est que difficilement debogable, on se retrouve à la fin à ne plus savoir d'où vient la faute vraiment.
personnellement j'utilise la template-engine Template-Power, ainsi j'ai une séparation nette et claire de l'HTML et du code PHP. une fois le HTML complet (où ne sont placées que les balises des variables) je ne m'occupe plus que du PHP pur et simple, où l'on peut p.e. éviter des erreurs telles que "Warning... not a valid  MYSQL ........." (car je me vois mal afficher "erreur" sur une page web comme dans le cas décrit p.e. (comment peut-on avoir une erreur en essayant d'afficher un produit clairement proposé auparavant?)).

bien sûr cela implique une réorganisation de l'ensemble, mais ça vaut le coup.