Mysql Décalage Affichage Données

Résolu
pepifou Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   -  
 monbastian -
Bonjour,


mysql_connect("localhost", "xxxxxxxx", "xxxxxxxx"); // Connexion
mysql_select_db("xxxxxxxx");

$select0 = mysql_query("SELECT * FROM chat ORDER BY ID DESC LIMIT 0,50"); // On sélectionne les pseudos et les messages du chat
$chat = mysql_fetch_array($select0);

while ($chat = mysql_fetch_array($select0)) // On affiche tout les messages de la table 'chat'
{

echo ' $chat['pseudo'] .  ' : ' . $chat['message'] . '<br/>';

}



Un code tout simple mais pourtant je rencontre un problème au niveau de l'affichage. Quand on ajoute la première donnée, rien ne s'affiche sur ma page mais je la vois dans ma bdd. Quand j'ajoute la deuxième donnée, c'est la première qui ne s'était pas affichée avant qui apparaît. Et ainsi de suite. Parfois il m'arrive d'avoir deux "données" de décalage ...
Après plusieurs heures de recherches qui n'ont menées à rien, je viens vous demander de l'aide.

Merci d'avance.
A voir également:

2 réponses

Benet
 
Bonjour,
C'est normal :

// Lecture du premier enregistrement
$chat = mysql_fetch_array($select0);

// Lecture du second enregistrement et des suivants
while ($chat = mysql_fetch_array($select0)) // On affiche tout les messages de la table 'chat'
{

echo ' $chat['pseudo'] . ' : ' . $chat['message'] . '<br/>';

}

==> La première lecture doit directement se faire dans la boucle.

Par contre je ne comprends pas pourquoi tu as 2 enregistrements de décalage.
Corrige ceci et reteste.

Petit conseil, remplace le '<br/>' par "<br/>\n" qui rendra le code source de la page plus lisible.

Benet
1
pepifou Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   4
 
Merci beaucoup de ton aide, je n'aurais jamais pensé à ça.
Bonne journée.
0
monbastian
 
Bonjour si vous existez encore, j'essaye de faire un script php,
J'ai aussi un affichage décalé mais je n'arrive pas à localiser d'où il vient.
Si quelqu'un peut m'aider

if($field=='REF' or $field=='CODE'){
			$sql=("SELECT ".$this->id_table." FROM ".$this->nom_table." t,alps_achat a WHERE t.id_ach=a.id_ach AND a.id_ach=".$this->id_a);
			$resu =mysql_query($sql);
			while($row=mysql_fetch_array($resu)){
				if($this->nom_table=='alps_configuration'){
					$value="<a href='../tables/configuration/display.php?table=".$this->nom_table."&id=".$row[0]."&nom=".$this->id_table."'>".$value."</a>";
				}else{
					$value="<a href='../tables/generic/display.php?table=".$this->nom_table."&id=".$row[0]."&nom=".$this->id_table."'>".$value."</a>";
				}
				echo "<br>".$sql;
			}
		}
0