Qui peut corriger mon code php

Résolu
cs_hwm86 Messages postés 10 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 3 novembre 2010 - 31 mars 2009 à 18:14
noumenon Messages postés 5 Date d'inscription samedi 28 février 2009 Statut Membre Dernière intervention 18 avril 2009 - 18 avril 2009 à 02:53
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

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
31 mars 2009 à 18:50
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 -
3
cs_hwm86 Messages postés 10 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 3 novembre 2010
31 mars 2009 à 18:56
merci, je testerai ça et je vous donne la resultat..
0
cs_hwm86 Messages postés 10 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 3 novembre 2010
31 mars 2009 à 18:58
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
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
31 mars 2009 à 20:35
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 -
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
noumenon Messages postés 5 Date d'inscription samedi 28 février 2009 Statut Membre Dernière intervention 18 avril 2009
6 avril 2009 à 12:02
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);
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
6 avril 2009 à 16:20
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 -
0
noumenon Messages postés 5 Date d'inscription samedi 28 février 2009 Statut Membre Dernière intervention 18 avril 2009
6 avril 2009 à 16:35
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!
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
6 avril 2009 à 18:03
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 -
0
adelmistral Messages postés 2 Date d'inscription vendredi 25 avril 2008 Statut Membre Dernière intervention 18 avril 2009
18 avril 2009 à 00:35
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  ', '}?>
0
noumenon Messages postés 5 Date d'inscription samedi 28 février 2009 Statut Membre Dernière intervention 18 avril 2009
18 avril 2009 à 02:53
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.
0
Rejoignez-nous