0
J'ai un script de pagination PHP MySQLi simple qui montre 5 entrées par page. Mais avec de grandes entrées de base de données, il y a quelques numéros de pages qui montrent. Comment puis-je limiter le nombre de pages affichées dans ma pagination? Par exemple. 10 pages à la fois: PREMIER < 1 2 3 4 5 6 7 8 9 10> LASTPHP MySQLi Pagination Limite Nombre de pages
Voici mon code:
<!DOCTYPE html><html>
<head>
<title>PHP Pagination</title>
</head>
<body>
<?php
// Establish Connection to the Database
$con = mysqli_connect('localhost','root','','classicmodels');
//Records per page
$per_page = 5;
if (isset($_GET["page"])) {
$page = $_GET["page"];
}
else {
$page = 1;
}
// Page will start from 0 and Multiple by Per Page
$start_from = ($page-1) * $per_page;
//Selecting the data from table but with limit
$query = "SELECT * FROM customers LIMIT $start_from, $per_page";
$result = mysqli_query ($con, $query);
?>
<table align="center" border="2″ cellpadding="3″>
<tr><th>Name</th><th>Phone</th><th>Country</th></tr>
<?php
while ($row = mysqli_fetch_assoc($result)) {
?>
<tr align="center">
<td><?php echo $row['contactFirstName']; ?></td>
<td><?php echo $row['contactLastName']; ?></td>
</tr>
<?php
};
?>
</table>
<div>
<?php
//Now select all from table
$query = "select * from customers";
$result = mysqli_query($con, $query);
// Count the total records
$total_records = mysqli_num_rows($result);
//Using ceil function to divide the total records on per page
$total_pages = ceil($total_records/$per_page);
//Going to first page
if($_GET['page'] != 1) {
echo "<center><a href='index.php?page=1'>".'First Page'."</a>";
} else echo "<center>";
echo "<a href='index.php?page=" . ($_GET['page']+1) . "'>Next Page</a>";
for ($i=1; $i<=$total_pages; $i++) {
echo "<a href='index.php?page=".$i."'>".$i."</a> ";
};
echo "<a href='index.php?page=" . ($_GET['page']-1) . "'>Previous Page</a>";
// Going to last page
if($_GET['page'] != $total_pages) {
echo "<a href='index.php?page=$total_pages'>".'Last Page'."</a></center> ";
} else echo "</center>";
?>
</div>
</body>
</html>
sortir de la boucle au début, par ex. Si vous voulez seulement 10 pages, alors if ($ page_numbers_display ++> 10) {break; } ' –
Merci pour les commentaires! Je suis en quelque sorte un débutant à PHP et je ne sais pas où ajouter le code pour sortir de la boucle au début. Voulez-vous s'il vous plaît laissez-moi savoir où ajouter le code? – John
même juste quelque chose comme 'for ($ i = $ start_page; $ i <= $ end_page; $ i ++)' le ferait. Les boucles 'for' ne doivent pas aller' 1-> n' elles peuvent aller 'm-> n' dans l'ordre ascendant ou descendant. –