Hej vänner! Jag har gjort om sidnumreringen aningen. Jag gillar den som den är idag faktiskt.
-------
-------
Ser nu ut såhär:
1 2 3 4 5 ... 24 Nästa
Föregående 1
2 3 4 5 ... 24 Nästa
Föregående 1 2
3 4 5 ... 24 Nästa
Föregående 1 2 3
4 5 ... 24 Nästa
Föregående 1 ...
5 6 7 8 9 ... 24 Nästa
Föregående 1 ... 5
6 7 8 9 ... 24 Nästa
Föregående 1 ... 5 6
7 8 9 ... 24 Nästa
Föregående 1 ... 5 6 7
8 9 ... 24 Nästa
Föregående 1 ...
9 10 11 12 13 ... 24 Nästa
tills:
Föregående 1 ...
21 22 23 24
Här kommer även koden!
Index.php:
PHP-kod:
$result = mysql_query("SELECT * FROM products WHERE visible = '1'");
$result = mysql_query($query);
$items = 2; // Antal items per sida
$num_rows = mysql_num_rows($result);
$nrpage_amount = $num_rows/$items;
$page_amount = ceil($num_rows/$items);
$page_amount = $page_amount-1;
if (isset($_GET['p'])) {
$page = mysql_real_escape_string($_GET['p']);
} else {
$page = 1;
}
$p_num = $items*$page;
$result = mysql_query("SELECT * FROM products WHERE visible = '1' ORDER BY 'price' ASC LIMIT $p_num , $items");
while($product = mysql_fetch_array($result)) {
//Här skrivs produkterna ut
};
paging();
Function.php:
PHP-kod:
function paging(){
global $num_rows; // Antal rader i db (49)
global $page; // Nuvarande sida
global $page_amount; // Antal sidor (Antal rader delat på produkter per sida (25))
$dottes = 0; // Räknare för punkter
if($page_amount != "0"){ // Om det finns fler än 1 sida
echo "<ul>";
if($page != "1"){ // Om nuvarande sidan inte är första sidan (0 = förstasidan)
$prev = $page-1;
echo "<li><a href=\"?p=$prev\">Föregående</a></li>";
if ($page > 4) {echo '<li><a href="?p=1">1</a></li>';echo "<li>...</li>";}
}
$first = 4 * (int)floor(($page-1) / 4)+ 1;
for ($p = $first; $p<$first+5 && $p<=$page_amount; $p++) {
if ($p == $page) {
echo '<li><div class="curr">', $p, '</div></li>';
} else {
echo '<li><a href="?p=', $p, '">', $p, '</a></li>';
}
}
if ($page_amount - $first >= 5) {
echo '<li>...</li>';
echo '<li><a href="?p=', $page_amount, '">', $page_amount, '</a></li>';
}
if($page < $page_amount){ // Om $page (nuvrande sidan) är mindre än $page_amount (antal sidor)
$next = $page+1;
echo "<li><a href=\"?p=$next\">Nästa</a></li>";
}
echo "</ul>";
}
}