J'ai une page PHP qui tire les données de la table DB et écho. mais quand les colonnes de la table sont comme 1000 à 5000 et plus, le chargement de la page devient trop lent que cela prend des minutes. J'essaie d'ajouter un lien de vue au bas de la page où, pour chaque 100 messages, le lien afficher plus apparaît pour afficher 100 autres messages une fois que vous avez cliqué.'Voir plus' lien dans la page php pour chaque 100 messages affichés à partir de la base de données
Et je suis au courant que je ne pagination veux pas adopter pour certaines raisons ..
Espoir Je m clairement expliquer ma situation.
Mon code va ainsi jusqu'à:
<html>
<head>
<?php include('db.php'); ?>
</head>
<body>
<?php
$page = 0;
if(isset($_GET["Page"])){
$page = $_GET["Page"];
}
$sql2 = "SELECT * FROM smf_log_digest WHERE note_type = 'topic' ORDER BY id_msg DESC";
$result2 = $conn->query($sql2);
if ($result2->num_rows > 0) {
while($row2 = $result2->fetch_assoc()) {
$number = $row2["id_msg"];
?>
<?php
$sql3 = "SELECT * FROM smf_messages WHERE id_msg = $number AND id_board = 4 LIMIT 100 OFFSET " . $page * 100;
$result3 = $conn->query($sql3);
if ($result3->num_rows > 0) {
while($row3 = $result3->fetch_assoc()) {
$member = $row3["id_member"];
$replies = $row3["id_topic"];
?>
<script>
var page = 0;
function GetData(){
page++;
var xhr = new XMLHttpRequest();
xhr.open('GET', "/getData?page="+page, true);
xhr.send();
xhr.onreadystatechange = processRequest;
function processRequest(e) {
if (xhr.readyState == 4) {
<?php echo substr($row3['body'], 0, 150); ?>
}
}
}
</script>
<?php }
} else {
echo "";
}
?>
<?php }
} else {
echo "";
}
?>
<div onclick="GetData()">Show More</div>
</body>
</html>
Comme je l'ai mentionné la requête fonctionne très bien en tirant toutes les données de la table, mais je voudrais limiter à 100 et donner un bouton « Voir plus » au bas de tous les 100 postes ont montré.
Toute aide est appréciée.
Si vous utilisez le mot-clé "pagination", vous devriez être capable de trouver plus qu'assez d'explications sur le principe. Si vous ne voulez pas aller à différentes «pages» de résultats, mais ajoutez les nouvelles entrées sous les nouvelles dans la page actuelle, puis ajoutez AJAX dans le mix. – CBroe