redondance

Eléphant du PHP | 250 Messages

08 mai 2006, 17:17

Bonjour,
j'ai 1 soucis de redondance par rapport à un titre lorsque j'affiche plusieures données.
<?php
session_start();
?>
<body background="images/fond.jpg">
<?php
$db= mysql_connect(localhost, xxxx, xxxx) or die("Impossible de se connecter à la base de données"); 	   
 mysql_select_db('xxxx',$db)  or die('Erreur de selection base'.mysql_error());
$reponse = mysql_query("SELECT pseudo, avatar, exp , FROM membres ORDER BY exp,  LIMIT 0, 5");
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<center><strong><font face="Calligraph421 BT"><font size="4">LES 5 MEILLEURS !</font></font></strong></center>
<br><img src="./avatars/<? echo $donnees['avatar']?>" alt="" /><br><? echo $donnees['pseudo']; ?>&nbsp;<strong><? echo $donnees['exp']; ?><br></strong>
</center>
</body>
<?php
}
?>
En fait, le titre "les 5 meilleurs" s'affichent 5 fois pour chaque joeur !
J'aimerais qu'il ne s'affiche qu'une seule fois en haut, comment faire?

Mammouth du PHP | 19672 Messages

08 mai 2006, 17:29

Ça ne te semble pas évident ? :shock: tu mets le titre dans la boucle, il va forcément être affiché à chaque tour: mets le AVANT la boucle :
<?php
session_start();
?>
<body background="images/fond.jpg">
<?php
$db= mysql_connect(localhost, xxxx, xxxx) or die("Impossible de se connecter à la base de données");
mysql_select_db('xxxx',$db)  or die('Erreur de selection base'.mysql_error());
$reponse = mysql_query("SELECT pseudo, avatar, exp , FROM membres ORDER BY exp,  LIMIT 0, 5");
?>
<center><strong><font face="Calligraph421 BT"><font size="4">LES 5 MEILLEURS !</font></font></strong></center>
<?php
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<br><img src="./avatars/<? echo $donnees['avatar']?>" alt="" /><br><? echo $donnees['pseudo']; ?>&nbsp;<strong><? echo $donnees['exp']; ?><br></strong>
</center>
</body>
<?php
}
?>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 250 Messages

08 mai 2006, 18:02

C'est vrai que cela semble plus logique mais la commande ne semble pas etre appréciée !




Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/lemond/public_html/stat.php on line 12

:shock:

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

08 mai 2006, 18:07

ce message d'erreur n'a rien à voir avec la modification proposée par Cyrano.

exécute la requete directement dans phpmyadmin pour vérifier un éventuel retour ou message d'erreur.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Avatar du membre
ViPHP
ViPHP | 3008 Messages

08 mai 2006, 18:44

Juste en passant, les "," ne servent à rien :
$reponse = mysql_query("SELECT pseudo, avatar, exp , FROM membres ORDER BY exp,  LIMIT 0, 5");
devient
$reponse = mysql_query("SELECT pseudo,avatar,exp FROM membres ORDER BY exp LIMIT 0, 5");

Eléphant du PHP | 250 Messages

08 mai 2006, 19:03

C'est bon, en effet, il y avait qq virgules de trop (à force de modifier le code on en oublie toujours :o )
Cela fonctionne impecc, merci :wink: