Boucle sans fin sur mysql_fetch_array
Bonjour,
J'ai un problème avec l'affichage de mes données. Cela marchait bien il y a quelques jours mais plus aujourd'hui...
J'ai une table avec un seul enregistrement, mais le code suivant l'affiche en boucle... (j'ai mis un $i pour limiter l'affichage). Je pense que c'est lié à l'encodage de la page puisque c'est la seule chose que j'ai changé depuis. J'ai donc rajouté mysql_query("SET NAMES 'utf8'"); comme dit dans la FAQ mais ca ne change rien.
J'ajoute que les enregistrement s'affichent sans problème.
Voici le code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <?php
$i=0;
while ($resultat = database ("alliancefrancai_news", "*", "News", "", "id DESC") and $i!=3)
{
echo "<h3>".$resultat['title'];
if ($resultat['date'] !="") echo " - (".$resultat['date'].")</h3>";
else echo "</h3>";
if ($resultat['image'] !="") echo "<img class='floatleft' style='margin-right:5px'src='".$resultat['image']."' alt='picture' />";
echo "<p>".$resultat['content']."</p>";
if ($resultat['site']!="") echo "<a href='".$resultat['site']."' class='lienrose'>More informations</a>";
$i=$i+1;
}
mysql_close();
?> |
ainsi que le code de la fonction database :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| function database ($databasename, $champs, $table, $where, $orderby) { //send a query to database and return the result
$host = "sql2"; // adresse du serveur mysql
$username = "*****"; // nom d'utilisateur mysql
$pass = "*****"; // mot de passe mysql
mysql_connect($host, $username, $pass); // on se connecte...
mysql_query("SET NAMES 'utf8'");
mysql_select_db($databasename); // on selectionne la base de données
$requete ="SELECT ".$champs." FROM ".$table." ";
if ($where !="") $requete=$requete." WHERE ".$where;
if ($orderby !="") $requete=$requete." ORDER BY ".$orderby;
echo $requete;
$result = mysql_query($requete);
return mysql_fetch_array($result);
} |
Merci d'avance car là je n'ai aucune idée du problème.
Gscorpio