SQL/PHP - Erreur affichage tableau

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : SQL/PHP - Erreur affichage tableau

Re: SQL/PHP - Erreur affichage tableau

par InsaneMan » 19 nov. 2011, 17:20

Salut,

Le var_dump($row) me renvoi un "boolean false"

Pour ce qui est d'avoir un script en aval, je n'ai strictement rien, donc je ne pense pas que ce soit cela.


Le problème est que tout ce que je met fonctionne quand je place dans chaque fichier php different, mais je voudrais tout mettre dans le meme fichier pour pouvoir faire un include.

Je sais pas si c'est clair...

[--]

EDIT:
<?

if(isset($_GET['classer']))
{
$classement = mysql_real_escape_string($_GET['classer']); //securise la variable	
$requete = "SELECT KL_products.label, KL_products.price, KL_products.picture ".
"FROM KL_products, KL_category ".
"WHERE KL_products.id_category = KL_category.idCategory AND KL_category.idCategory = '$category' ".
"ORDER BY $classement";
}

$result=mysql_query($requete,$connexion);

echo("<table border='0'>");
echo("<th>Name <a href=" .$_SERVER['PHP_SELF']. "?classer=KL_products.label \"><img src=\"images/triangle.png\" /></a></th><th>Picture</th><th>Price <a href=" .$_SERVER['PHP_SELF']. "?classer=KL_products.price \"><img src=\"images/triangle.png\" /></a></th>");
while($row=mysql_fetch_array($result))
	{
	echo("<tr><td>" .$row["label"]. "</td> 
	<td><img src='" .$row["picture"]. "' width='100' height='100'></td>
	<td>" .$row["price"]. "</td>
	<td>BASKET !</td></tr>");
	}
echo("</table>");

?>
Si je clique sur mes petits triangles (qui permettent de classer par prix/nom) mes requetes s'affichent correctement. Par contre, si je vais sur cette page via le menu, j'ai l'erreur

[--]
<?

if(isset($_GET['classer']))
{
$classement = mysql_real_escape_string($_GET['classer']); //securise la variable	
$requete = "SELECT KL_products.label, KL_products.price, KL_products.picture ".
"FROM KL_products, KL_category ".
"WHERE KL_products.id_category = KL_category.idCategory AND KL_category.idCategory = '$category' ".
"ORDER BY $classement";
}
else
$requete = "SELECT KL_products.label, KL_products.price, KL_products.picture ".
"FROM KL_products, KL_category ".
"WHERE KL_products.id_category = KL_category.idCategory AND KL_category.idCategory = '$category' ".
"ORDER BY 1";

$result=mysql_query($requete,$connexion);

echo("<table border='0'>");
echo("<th>Name <a href=" .$_SERVER['PHP_SELF']. "?classer=KL_products.label \"><img src=\"images/triangle.png\" /></a></th><th>Picture</th><th>Price <a href=" .$_SERVER['PHP_SELF']. "?classer=KL_products.price \"><img src=\"images/triangle.png\" /></a></th>");
while($row=mysql_fetch_array($result))
	{
	echo("<tr><td>" .$row["label"]. "</td> 
	<td><img src='" .$row["picture"]. "' width='100' height='100'></td>
	<td>" .$row["price"]. "</td>
	<td>BASKET !</td></tr>");
	}
echo("</table>");

?>
Apparemment l'oublie du else était responsable, problème réglé ,)

Merci pour votre aide =)

Re: SQL/PHP - Erreur affichage tableau

par xTG » 19 nov. 2011, 17:04

Premièrement, dans le cas ou $_GET['classer'] n'existe pas ta variable $requete est non définie.
Enfin fais un var_dump($row) et tu auras un aperçu plus clair de ce qui est retourné en terme d'index et de valeur.

Quant à la boucle infinie je n'y crois pas trop, mysql_fetch_array() renvoie false s'il n'y a pas de n-uplet à renvoyer, ce qui te ferrai sortir de la boucle.
Ne serais-ce pas plutôt qu'il y a énormément de n-uplets ou bien d'un script en aval qui met énormément de temps à s'éxécuter (jusqu'au timeout) ?

Re: SQL/PHP - Erreur affichage tableau

par InsaneMan » 19 nov. 2011, 16:56

MDRRR, effectivement c'est pas très constructif de dire "ça plante"

Donc oui le problème vient aux lignes du tableau, et l'erreur est la suivante:

Notice: Undefined index: label in /home/etudiant/acoste03/ecommerce.old/All.php on line 42
Notice: Undefined index: picture in /home/etudiant/acoste03/ecommerce.old/All.php on line 43
Notice: Undefined index: price in /home/etudiant/acoste03/ecommerce.old/All.php on line 44

Et ça boucle jusqu'a la fin du while



Merci pour ton aide en tout cas ,)

Re: SQL/PHP - Erreur affichage tableau

par Cyrano » 19 nov. 2011, 16:28

Salut,
sois plus complet dans ta question : que ton affichage plante, soit, mais tu obtiens quoi en lieu et place de ce que tu attendais ? Si c'est un message d'erreur, il sera beaucoup plus facile de t'indiquer le chemin vers la solution si on sait de quoi il retourne. Dans le temps, on a essayé la boule de cristal, mais elles ont été confisquées lors de la dernière inquisition :P

SQL/PHP - Erreur affichage tableau

par InsaneMan » 19 nov. 2011, 15:37

Bonjour, tout d'abord je tiens à m'excuser pour le titre du sujet, mais je n'ai pas eu plus d'inspiration :-s

Je ne sais pas si cette question a déjà été traitée, mais je me lance tout de même:

<?

if(isset($_GET['classer']))
{
$classement = mysql_real_escape_string($_GET['classer']); //securise la variable	
$requete = "SELECT KL_products.label, KL_products.price, KL_products.picture ".
"FROM KL_products, KL_category ".
"WHERE KL_products.id_category = KL_category.idCategory AND KL_category.idCategory = '$category' ".
"ORDER BY $classement";
}

$result=mysql_query($requete,$connexion);

echo("<table border='0'>");
echo("<th>Name <a href=" .$_SERVER['PHP_SELF']. "?classer=label \"><img src=\"images/triangle.png\" /></a></th><th>Picture</th><th>Price <a href=" .$_SERVER['PHP_SELF']. "?classer=price \"><img src=\"images/triangle.png\" /></a></th>");
while($row=mysql_fetch_array($result))
	{
	echo("<tr><td>" .$row["label"]. "</td> 
	<td><img src='" .$row["picture"]. "' width='100' height='100'></td>
	<td>" .$row["price"]. "</td>
	<td>BASKET !</td></tr>");
	}
echo("</table>");

?>
L'affichage dans le tableau plante, je vois pas comment corriger le truc, un petit coup d'main svp =)