Page 1 sur 1

Soucis entre affichage et bd

Posté : 12 déc. 2006, 02:30
par alaingpl
Bonjour,

Je souhaite afficher des photos et mon chemin de fichier se trouve dans la base de bd.
Je fais donc ça pour l'afficher
<? 
 require("../admin/config.php");
	$mysql_link =  MYSQL_CONNECT("$localhost","$login","$mot") OR DIE("Unable to connect to database !!");
	@mysql_select_db($dbName ,$mysql_link ) or die( "Unable to select database ??");


$retour = mysql_query("SELECT * FROM imag ORDER BY RAND "); 
while ($dretour = mysql_fetch_array($retour)) 
{
echo "<IMG SRC=\"../admin/".$dretour['chemin_fichier']."\" WIDTH=500>";
}
?>
et j'ai le message d'erreur suivant :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/ton-hebergement-gratuit.com/anatolefrance/admin/affpict.php on line 32

Si quelqu'un pouvais m'aider, ce serait sympa.

Si j'osai demander quelque chose en plus..allez..
J'aimerai que les photos s'affichent aléatoirement. Est ce que le ORDER BY RAND est correct ?

Merci d'avance de vos réponses.

Posté : 12 déc. 2006, 03:00
par Ajoloca
Bonsoir,

Pour l'affichage aléatoir, le "ORDER BY RAND" n'est pas correct,
RAND() est une fonction.

Pour ton message d'erreur, c'est que tu demandes de faire un mysql_fetch_array() sans lui passer de paramètre "ressource".

Comme dans ton code, ce paramètre y figure, tout me fais croire que c'est un souci de connexion ou bien de retour de requête.

Essaie ce code
<?php
 require("../admin/config.php");
    $mysql_link =  mysql_connect($localhost , $login , $mot) OR die("Unable to connect to database !! <br />" . mysql_error());
    mysql_select_db($dbName ,$mysql_link ) or die( "Unable to select database ??<br />" . mysql_error());


$retour = mysql_query("SELECT * FROM imag ORDER BY RAND()") or die("ERR_SQL :<br />" . mysql_error()); 
while ($dretour = mysql_fetch_array($retour)) 
{
echo "<IMG SRC=\"../admin/".$dretour['chemin_fichier']."\" WIDTH=500>";
}
?>
Tu ne devrais pas utiliser les "short_open_tags" (<?) mais <?php.
Tu risques d'avoir des surprises avec certains serveurs.