Mein aktueller Paginierung Code sieht wie folgt ausWie richtet man die Paginierungs-URL ein, um URL-Rewriting mit htaccess verwenden zu können?
//what page are we currently on
if(!isset($_GET['page'])){
$page=1;
}
else {
$page=(int)$_GET['page'];
}
//select how many records to show per page
$limit=10;
//count how many rows
$total=$conn->query("SELECT COUNT(*) FROM pagi")->fetchColumn();
//how many pages will be there
$pages=ceil($total/$limit);
if($page<1){
$page=1;//forcing page to be 1 if it is less then 1
}
else if($page>$pages){
$page=$pages;
}
//calculate the offset
$offset=($page-1)*$limit;
//fetch the result from database
$sql=$conn->prepare("SELECT * FROM pagi ORDER BY pg_id LIMIT {$limit} OFFSET {$offset}");
$sql->execute();
if($sql->rowCount()>0){
while($result=$sql->fetch(PDO::FETCH_ASSOC)){;
echo $result['pg_name'],"<br />";
}
echo "<hr>";
}else {
echo "no result to fetch";
}
$prev=$page-1;
$next=$page+1;
$previous="";
$nextr="";
if($page>1){
$previous='<li><a href="?page='.$prev.'">«</a></span>';
}
//for($i=1;$i<=$pages;$i++){
// echo'<a href="?page='.$i.'">'.$i.'</a>';
// }
if($page<$pages){
$nextr='<li><a href="?page='.$next.'">»</a></span>';
}
$numbers="";
for($i = max(1, $page - 5); $i <= min($page + 5, $pages); $i++){
if($i==$page){
$numbers.='<li><a class="active" href="?page='.$i.'">'.$i.'</a></span></li>';
}
else {
$numbers.='<li><a href="?page='.$i.'">'.$i.'</a></span></li>';
}
}
Und sehen meine aktuelle URL wie diese: - localhost/test/pagi.php?page=1
I want it to be
localhost/test/pagi.php/page/1
Ich habe folgende in meinem .htaccess
RewriteEngine on RewriteRule ^page/([a-zA-Z0-9-/]+)$ pagi.php?page=$1
Wie kann ich meine Seitennumerierung ändern, um mit der obigen Umschreibregel oder anderen Regeln zu arbeiten? Ich möchte in der Lage sein zu erreichen, wenn ein Benutzer klicken Sie auf der nächsten es sie pagi.php/page/123
nicht pagi.php?page=1
umleiten sollte .Ich ziemlich neu bin auf PHP und kann nicht einen Weg finden, um this.Any Hilfe zu tun, würde
Ich habe es gerade versucht, aber es ändert nicht meine URL von '/test/pagi.php? Page = 1' zu'/test/pagi.php/page/1' –
Diese Transformation wird anders herum funktionieren , Ändern von '/ test/pagi.php/page/1' zu' /test/pagi.php? page = 1'. Ist Ihr Apache mit dem Modul mod_rewrite eingerichtet? – macl
Ja, mein Apache ist mit dem Modul mod_rewrite eingerichtet –