Ich werde mein Beispiel der Seitennummerierung meines eigenen Projekts zeigen. Ich habe einige Kommentare abgegeben, aber sie sind auf Französisch, weil ich französisch bin, aber ich denke, dass sie leicht zu übersetzen sein werden. Ich hoffe, dies wird dir helfen. Ich glaube nicht, dass Sie meine "configuraiton.php" brauchen, es ist für die lokale Serververbindung, versuchen Sie einfach, mein Beispiel zu verstehen. Au und meine Suche ist auf 3 Kriterium, deshalb habe ich einen Schalter und einen Fall.
//This is foncitons.php purpose limit items and create page for pagination
<?php
if(isset($_GET['limite']))
$limite=$_GET['limite'];
else $limite=0;
function verifLimite($limite,$total,$nombre) {
if(is_numeric($limite)) {
if(($limite >=0) && ($limite <= $total) && (($limite%$nombre)==0)) {
$valide = 1;
}
else {
$valide = 0;
}
}
else {
$valide = 0;
}
return $valide;
}
function displayNextPreviousButtons($nb,$page,$total,$limite) {
$limiteSuivante = $limite + $nb;
$limitePrecedente = $limite - $nb;
echo '<nav><ul class="pagination">'."\n";
if($limite != 0) {
echo '<li><a href="'.$page.'?limite='.$limitePrecedente.'" aria-label="Previous"><span aria-hidden="true">«</span></a></li>';
}
$nbpages=ceil($total/$nb);
$numeroPages = 1;
$compteurPages = 1;
$limite = 0;
while($numeroPages <= $nbpages) {
echo '<li><a href = "'.$page.'?limite='.$limite.'">'.$numeroPages.'</a></li>'."\n";
$limite = $limite + $nb;
$numeroPages = $numeroPages + 1;
$compteurPages = $compteurPages + 1;
if($compteurPages == 10) {
$compteurPages = 1;
}
}
if($limiteSuivante < $total) {
echo '<li><a href="'.$page.'?limite='.$limiteSuivante.'" aria-label="Next"><span aria-hidden="true">»</span></a></li>';
}
echo '</ul></nav>'."\n";
}
?>
Dies ist meine Suchseite für Autos.
<?php
// Variables de connexion
include("configuration.php");
// Fonctions AffichePages, Bouton Suivant/Précédent, VérifLimite
include ("fonctions.php");
// Connexion à la base
$link = mysqli_connect($hote,$login,$pass,$base);
// Nombre d'entrées par page
$nombre=6;
// Au début limite inférieur = 0
if (!$limite)
{
$limite = 0;
}
// On recherche le lien de la page
$path_parts = pathinfo($_SERVER['PHP_SELF']);
$page = $path_parts["basename"];
// On vérifie si on a effectué une recherche et on compte le nombre de données a retourner
if (((isset($_REQUEST["marque"])) && ($_REQUEST["marque"] !="")) || ((isset($_REQUEST["modele"])) && ($_REQUEST["modele"] !=""))) {
// Si on a effectué la recherche, on stock
$nom=$_REQUEST["marque"];
$categorie=$_REQUEST["modele"];
// On remplace les accents dans la variable $nom avec les codes appropriés
$nom=str_replace("é", "é", $nom);
$nom=str_replace("è", "è", $nom);
$nom=str_replace("ê", "ê", $nom);
$nom=str_replace("à", "à", $nom);
$nom=str_replace("â", "â", $nom);
$nom=str_replace("ç", "ç", $nom);
if($nom !=""){
$choix=1;
}
if($categorie !=""){
$choix=2;
}
if($nom !="" and $categorie !=""){
$choix=3;
}
Switch($choix){
case 1:
$sqlcount = "SELECT COUNT(*) FROM voitures WHERE marque LIKE '%$nom%'";
$result = mysqli_query($link,$sqlcount);
$row = mysqli_fetch_row($result);
$total = $row[0];
// On calcule la limite
$verifLimite= verifLimite($limite,$total,$nombre);
if(!$verifLimite) {
$limite = 0;
}
// On va lire les données de la table
$sql = "SELECT idvoitures, marque, modele, LEFT(details,70), images, annee, lien, kilometrage, puissance, couleur FROM voitures WHERE marque LIKE '%$nom%' ORDER BY marque, modele LIMIT $limite, $nombre";
break;
case 2:
$sqlcount = "SELECT COUNT(*) FROM voitures WHERE modele LIKE '$categorie'";
$result = mysqli_query($link,$sqlcount);
$row = mysqli_fetch_row($result);
$total = $row[0];
// On calcule la limite
$verifLimite= verifLimite($limite,$total,$nombre);
if(!$verifLimite) {
$limite = 0;
}
// On va lire les données de la table
$sql = "SELECT idvoitures, marque, modele, LEFT(details,70), images, annee, lien, kilometrage, puissance, couleur FROM voitures WHERE modele LIKE '%$categorie%' ORDER BY marque, modele LIMIT $limite, $nombre";
break;
case 3:
$sqlcount = "SELECT COUNT(*) FROM voitures WHERE marque LIKE '%$nom%' and modele LIKE '%$categorie%'";
$result = mysqli_query($link,$sqlcount);
$row = mysqli_fetch_row($result);
$total = $row[0];
// On calcule la limite
$verifLimite= verifLimite($limite,$total,$nombre);
if(!$verifLimite) {
$limite = 0;
}
// On va lire les données de la table
$sql = "SELECT idvoitures, marque, modele, LEFT(details,70), images, annee, lien, kilometrage, puissance, couleur FROM voitures WHERE marque LIKE '%$nom%' and modele LIKE '%$categorie%' ORDER BY marque, modele LIMIT $limite, $nombre";
break;
}
}
else
{
$sqlcount = 'SELECT COUNT(*) FROM voitures';
$result = mysqli_query($link,$sqlcount);
$row = mysqli_fetch_row($result);
$total = $row[0];
// On calcule la limite
$verifLimite= verifLimite($limite,$total,$nombre);
if(!$verifLimite) {
$limite = 0;
}
// On va lire les données de la table
$sql = "SELECT idvoitures, marque, modele, LEFT(details,70), images, annee, lien, kilometrage, puissance, couleur FROM voitures ORDER BY marque, modele LIMIT $limite, $nombre";
}
$result = mysqli_query($link,$sql);
echo '<div class="container">';
echo '<div class="row">';
// Variable qui compte le nombre d'affichage par rangée
$i = 0;
// On affiche les résultats à travers la boucle
if($total) {
while($row = mysqli_fetch_array($result)) {
$idvoitures=$row["idvoitures"];
$marque=$row["marque"];
$modele=$row["modele"];
$details=$row["LEFT(details,70)"];
$images=$row["images"];
$couleur=$row["couleur"];
$annee=$row["annee"];
$kilometrage=$row["kilometrage"];
$lien=$row["lien"];
// On affiche 3 par rangée -> après chaque trois affichages on met une nouvelle rangée
// if (($i%3 == 0) && ($i != 0))
// {
// echo '<div class="row">';
// }
echo '<div class="col-md-4">';
echo "<div class=\"view view-forth\">";
echo "<img class=\"thumb\" src=\"images/$images\" />";
echo "<div class=\"mask\">";
echo "<h2>$marque $modele</h2>";
echo "<p>$details...</p>";
echo "<a href=\"afficheVoiture.php?id=$idvoitures\" class=\"info\">Découvrir</a>";
echo "</div>";
echo "</div>";
echo "</div>";
// On ferme la balise div à chaque fois qu'on crée une nouvelle rangée
// if (($i%3 == 0) && ($i != 0))
// {
// echo '</div>';
// }
}
}
echo '</div>';
echo '</div>';
?>
Bitte lesen Sie [Wie eine Antwort Arbeit nicht zu akzeptieren?] (Http://meta.stackoverflow.com/questions/5234/how-does-accepting-an-answer-work) – Quentin