Je crée un forum simple avec php/mysql. Les utilisateurs entrent leur nom et un message, javascript affiche le message immédiatement, et php/mysql le stocke dans une base de données. Lorsque la page se charge, il doit afficher tous les messages dans la base de données dans une liste formatée.Mysql/PHP ne pas afficher toutes les lignes
Cependant, il semble que mon php n'affiche que certains messages arbitrairement. Ils sont dans l'ordre chronologique approprié mais certains sont manquants et il n'en affiche que 4. En regardant manuellement les entrées dans la base de données, je peux voir que les messages postés sont en effet stockés dans leur table. Ils ne sont tout simplement pas affichés. wierd.
Heres le code HTML/PHP qui affiche les messages:
<?php
$records = getMessages(); //see getMessages() function below
$names = $records["names"];
$messages = $records["messages"];
$dates = $records["dates"];
for($i = count($records); $i > 0; $i--){ ?>
<div class="message">
<p class="message_txt"><?php echo $messages[$i];?></p>
<div>
<div class="message_name">
<?php echo $names[$i];?>
</div>
<div class="message_date">
<small>
<?php
echo "Posted on ";
echo date("F j, Y",strtotime($dates[$i]));
?>
</small>
</div>
</div>
</div>
<?php } ?>
Heres la fonction de haut getMessages():
function getMessages(){
$conn = connect("wedding");
$ids;
$names;
$messages;
$dates;
$get_messages_query = "SELECT id, name, message, date
FROM messages;";
$get_messages_result = mysql_query($get_messages_query,$conn) or die(mysql_error());
$i = 0;
while($row = mysql_fetch_array($get_messages_result)){
$ids[$i] = $row["id"];
$names[$i] = $row["name"];
$messages[$i] = $row["message"];
$dates[$i] = $row["date"];
$i++;
}
$entries = array("ids" => $ids,
"names" => $names,
"messages" => $messages,
"dates" => $dates
);
return $entries;
}
Et voici la sortie:
<div class="message">
<p class="message_txt">Yo this is a message</p>
<div>
<div class="message_name">Bob</div>
<div class="message_date"><small>Posted on September 18, 2010</small></div>
</div>
</div>
<div class="message">
<p class="message_txt">This is a message another</p>
<div>
<div class="message_name">Andrew</div>
<div class="message_date"><small>Posted on September 6, 2010</small></div>
</div>
</div>
<div class="message">
<p class="message_txt">And another message</p>
<div>
<div class="message_name">Andrew</div>
<div class="message_date"><small>Posted on September 6, 2010</small></div>
</div>
</div>
<div class="message">
<p class="message_txt">This is a message</p>
<div>
<div class="message_name">Andrew</div>
<div class="message_date"><small>Posted on August 27, 2010</small></div>
</div>
</div>
Je ne suis pas sûr de ce qui se passe ici. Cela semble assez simple. Je suppose que ce pourrait être une petite erreur idiote que je ne peux pas voir ... mais je ne peux pas le voir.
Toute aide serait appréciée.
Brillant. Cela a fait l'affaire. Merci de prendre le temps. –