Paginationen
Pagination was ist das?
Mit Seitennummerierung Daten auf mehrere Seiten verteilen.
Eine Seitennummerierung besteht aus aneinander gereiter Links
Hier ohne Datenbank!
Mit Seitennummerierung Daten auf mehrere Seiten verteilen.
Eine Seitennummerierung besteht aus aneinander gereiter Links
Hier ohne Datenbank!
Immer mit direkter Seitenwahl.
Absolut JavaScript unabhängig!
Absolut JavaScript unabhängig!
Zum Beispiel: 12 Seiten
<a href="seite=1">1</a>
<a href="seite=2">2</a>
<a href="seite=3">3</a>
<a href="seite=4">4</a>
<a href="seite=5">5</a>
<a href="seite=6">6</a>
<a href="seite=7">7</a>
<a href="seite=8">8</a>
<a href="seite=9">9</a>
<a href="seite=10">10</a>
<a href="seite=11">11</a>
<a href="seite=12">12</a>
<a href="seite=2">2</a>
<a href="seite=3">3</a>
<a href="seite=4">4</a>
<a href="seite=5">5</a>
<a href="seite=6">6</a>
<a href="seite=7">7</a>
<a href="seite=8">8</a>
<a href="seite=9">9</a>
<a href="seite=10">10</a>
<a href="seite=11">11</a>
<a href="seite=12">12</a>
Sieht optisch nicht so toll aus.
Seiten bestimmen:
<?php
Variable(n) erstellen
$seite = isset($_GET['seite']) ? $_GET['seite'] : '1';
if(empty($seite))
{
$seite=1;
}
if(empty($seite))
{
$seite=1;
}
Post erstellen
if($_SERVER["REQUEST_METHOD"]=="POST")
{
$zal=isset($_POST['zal']) ? $_POST['zal'] : "";
header("Location:".$_SERVER['PHP_SELF']."?page=".$zal."&seite=".$zal."");
}
if($seite==1)
{
if(file_exists('seite1.php'))
{
require('seite1.php');
}
}
... auffüllen
if($seite==12)
{
if(file_exists('seite12.php'))
{
require('seite12.php');
}
}
{
$zal=isset($_POST['zal']) ? $_POST['zal'] : "";
header("Location:".$_SERVER['PHP_SELF']."?page=".$zal."&seite=".$zal."");
}
if($seite==1)
{
if(file_exists('seite1.php'))
{
require('seite1.php');
}
}
... auffüllen
if($seite==12)
{
if(file_exists('seite12.php'))
{
require('seite12.php');
}
}
?>
<table><tr>
<?php
Maximale und Start-Seite bestimmen
$maxpage = 12; // variabel
$START = 1;
$START = 1;
Pagination
$this_page=$_SERVER['PHP_SELF'];
$data=range(1,$maxpage);
$num_results=count($data);
if(!isset($_GET['page'])||!$page=intval($_GET['page']))
{
$page=1;
}
$special=[];
if(isset($_GET['var1']) && $var1=$_GET['var1'])
{
$special[]="var1=".urlencode($var1);
}
$special=implode("",$special);
$tmp=[];
for($p=1,$i=0;$i < $num_results;$p++,$i+=$START)
{
if($page==$p)
{
$tmp[]='<td class="currentpage">'.$p.'</td>
<td class="little">Seite</td>
<td class="little">
<form method="post">
<input class="numbi" type="number" min="1" max="'.$maxpage.'" name="zal" value="'.$p.'">
</form>
</td>
<td class="little">von '.$maxpage.'</td>';
}
else
{
$tmp[]='<td class="page">
<a href="'.$this_page.'?'.$special.'page='.$p.'&seite='.$p.'">'.$p.'</a>
</td>';
}
}
for($i=count($tmp)-3;$i > 1;$i--)
{
if(abs($page-$i-1) > 2)
{
unset($tmp[$i]);
}
}
if(count($tmp) > 1)
{
if($page > 1)
{
echo'<td class="prevs">
<a href="'.$this_page.'?'.$special.'page=1&seite=1"> << </a>
</td>';
echo'<td class="prev">
<a href="'.$this_page.'?'.$special.'page='.($page - 1).'&seite='.($page - 1).'"> < </a>
</td>';
}
$lastlink=0;
foreach($tmp as $i=> $link)
{
if($i > $lastlink+1)
{
echo'<td class="dots">
<form method="post">
<input placeholder="..." min="1" max="'.$maxpage.'" name="zal" type="number">
</form>
</td>';
}
echo $link;
$lastlink=$i;
}
if($page <= $lastlink)
{
echo'<td class="next">
<a href="'.$this_page.'?'.$special.'page='.($page+1).'&seite='.($page+1).'"> > </a>
</td>';
echo'<td class="nexts">
<a href="'.$this_page.'?'.$special.'page='.$maxpage.'&seite='.$maxpage.'"> >> </a>
</td>';
}
}
$data=range(1,$maxpage);
$num_results=count($data);
if(!isset($_GET['page'])||!$page=intval($_GET['page']))
{
$page=1;
}
$special=[];
if(isset($_GET['var1']) && $var1=$_GET['var1'])
{
$special[]="var1=".urlencode($var1);
}
$special=implode("",$special);
$tmp=[];
for($p=1,$i=0;$i < $num_results;$p++,$i+=$START)
{
if($page==$p)
{
$tmp[]='<td class="currentpage">'.$p.'</td>
<td class="little">Seite</td>
<td class="little">
<form method="post">
<input class="numbi" type="number" min="1" max="'.$maxpage.'" name="zal" value="'.$p.'">
</form>
</td>
<td class="little">von '.$maxpage.'</td>';
}
else
{
$tmp[]='<td class="page">
<a href="'.$this_page.'?'.$special.'page='.$p.'&seite='.$p.'">'.$p.'</a>
</td>';
}
}
for($i=count($tmp)-3;$i > 1;$i--)
{
if(abs($page-$i-1) > 2)
{
unset($tmp[$i]);
}
}
if(count($tmp) > 1)
{
if($page > 1)
{
echo'<td class="prevs">
<a href="'.$this_page.'?'.$special.'page=1&seite=1"> << </a>
</td>';
echo'<td class="prev">
<a href="'.$this_page.'?'.$special.'page='.($page - 1).'&seite='.($page - 1).'"> < </a>
</td>';
}
$lastlink=0;
foreach($tmp as $i=> $link)
{
if($i > $lastlink+1)
{
echo'<td class="dots">
<form method="post">
<input placeholder="..." min="1" max="'.$maxpage.'" name="zal" type="number">
</form>
</td>';
}
echo $link;
$lastlink=$i;
}
if($page <= $lastlink)
{
echo'<td class="next">
<a href="'.$this_page.'?'.$special.'page='.($page+1).'&seite='.($page+1).'"> > </a>
</td>';
echo'<td class="nexts">
<a href="'.$this_page.'?'.$special.'page='.$maxpage.'&seite='.$maxpage.'"> >> </a>
</td>';
}
}
?>
</tr></table>
Eignet sich als Seitenaufteilung ohne DatenBank
Verkürzte Darstellung: einfache Formatierung,
kann etwa so aussehen:
Verkürzte Darstellung: einfache Formatierung,
kann etwa so aussehen: