cs_hwm86
Messages postés10Date d'inscriptionsamedi 24 mars 2007StatutMembreDernière intervention 3 novembre 2010
-
31 mars 2009 à 18:14
noumenon
Messages postés5Date d'inscriptionsamedi 28 février 2009StatutMembreDernière intervention18 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>
----
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 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 -
Vous n’avez pas trouvé la réponse que vous recherchez ?
noumenon
Messages postés5Date d'inscriptionsamedi 28 février 2009StatutMembreDernière intervention18 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! :)
noumenon
Messages postés5Date d'inscriptionsamedi 28 février 2009StatutMembreDernière intervention18 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.