Skip to content

Instantly share code, notes, and snippets.

@Loknar
Created January 16, 2016 11:18
Show Gist options
  • Save Loknar/1699d4ad497d2605cc6f to your computer and use it in GitHub Desktop.
Save Loknar/1699d4ad497d2605cc6f to your computer and use it in GitHub Desktop.
<?php
/*
function flettitakkar($num_of_things, $page, $slod, $max_per_page = 30)
Skilar flettitökkum í streng sem html kóða.
$num_of_things er fjöldi hluta
$page er númer síðunnar sem verið er að birta (0,1,2,3 ...)
Viljum sækja GET gildið page með php kóða en ef það klikkar þá látum við page gildið vera 0, dæmi:
if(filter_has_var(INPUT_GET, "page") !== false && filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT) !== false) {
$page = filter_input(INPUT_GET, "page", FILTER_SANITIZE_NUMBER_INT);
if($page <= 0) {
$page = 0;
}
}
else {
$page = 0;
}
$slod er nafnið á skjalinu sem verið er að nota formúluna í, t.d. "name.php?" eða "name.php?v=oHg5SJYRHA0&" ATH! muna eftir '?' eða '&' aftast
$max_per_page ákvarðar fjölda hluta á hverja síðu, default er 30
*/
function flettitakkar($num_of_things, $page, $slod, $max_per_page = 30) {
$pages = ceil($num_of_things/$max_per_page - 1);
if($page < 0 || $page > $pages) {
$page = 0;
}
$sam = "page=";
$t0 = 0;
$t1 = 1;
$t2 = 2;
$t3 = 3;
$t4 = 4;
if($page == 0) {
$fyrri = "&lt;&lt; Fyrri";
}
else {
$back = $page - 1;
$fyrri = "<a href='$slod$sam$back'>&lt;&lt; Fyrri</a>";
}
if($page >= $pages) {
$naesta = "Næsta &gt;&gt;";
}
else {
$next = $page + 1;
$naesta = "<a href='$slod$sam$next'>Næsta &gt;&gt;</a>";
}
$num0 = $num1 = $num2 = $dots1 = $numkm2 = $numkm1 = $numk = $numkp1 = $dots2 = $numkp2 = $numnm2 = $numnm1 = $numn = "";
$tala1b = $max_per_page;
$tala2a = $max_per_page + 1;
$tala2b = 2*$max_per_page;
$tala3a = 2*$max_per_page + 1;
$tala3b = 3*$max_per_page;
$tala4a = 3*$max_per_page + 1;
$tala4b = 4*$max_per_page;
$tala5a = 4*$max_per_page + 1;
if($pages == 0) {
$numn = "1 - $num_of_things";
}
elseif($pages == 1) {
$num0 = "<a href='$slod$sam$t0'>1 - $tala1b</a>";
$numn = " | <a href='$slod$sam$t1'>$tala2a - $num_of_things</a>";
if($page == 0) {
$num0 = "1 - $tala1b";
}
elseif($page == 1) {
$numn = " | $tala2a - $num_of_things";
}
}
elseif($pages == 2) {
$num0 = "<a href='$slod$sam$t0'>1 - $tala1b</a>";
$num1 = " | <a href='$slod$sam$t1'>$tala2a - $tala2b</a>";
$numn = " | <a href='$slod$sam$t2'>$tala3a - $num_of_things</a>";
if($page == 0) {
$num0 = "1 - $tala1b";
}
elseif($page == 1) {
$num1 = " | $tala2a - $tala2b";
}
elseif($page == 2) {
$numn = " | $tala3a - $num_of_things";
}
}
elseif($pages == 3) {
$num0 = "<a href='$slod$sam$t0'>1 - $tala1b</a>";
$num1 = " | <a href='$slod$sam$t1'>$tala2a - $tala2b</a>";
$num2 = " | <a href='$slod$sam$t2'>$tala3a - $tala3b</a>";
$numn = " | <a href='$slod$sam$t3'>$tala4a - $num_of_things</a>";
if($page == 0) {
$num0 = "1 - $tala1b";
}
elseif($page == 1) {
$num1 = " | $tala2a - $tala2b";
}
elseif($page == 2) {
$num2 = " | $tala3a - $tala3b";
}
elseif($page == 3) {
$numn = " | $tala4a - $num_of_things";
}
}
elseif($pages == 4) {
$num0 = "<a href='$slod$sam$t0'>1 - $tala1b</a>";
$num1 = " | <a href='$slod$sam$t1'>$tala2a - $tala2b</a>";
$num2 = " | <a href='$slod$sam$t2'>$tala3a - $tala3b</a>";
$numnm1 = " | <a href='$slod$sam$t3'>$tala4a - $tala4b</a>";
$numn = " | <a href='$slod$sam$t4'>$tala5a - $num_of_things</a>";
if($page == 0) {
$num0 = "1 - $tala1b";
}
elseif($page == 1) {
$num1 = " | $tala2a - $tala2b";
}
elseif($page == 2) {
$num2 = " | $tala3a - $tala3b";
}
elseif($page == 3) {
$numnm1 = " | $tala4a - $tala4b";
}
elseif($page == 4) {
$numn = " | $tala5a - $num_of_things";
}
}
elseif($pages >= 5) {
$km2 = $page - 2;
$km1 = $page - 1;
$kp1 = $page + 1;
$kp2 = $page + 2;
$nm2 = $pages - 2;
$nm1 = $pages - 1;
$km2_i1 = $km2*$max_per_page + 1;
$km2_i2 = ($km2+1)*$max_per_page;
$km1_i1 = $km1*$max_per_page + 1;
$km1_i2 = ($km1+1)*$max_per_page;
$k_i1 = $page*$max_per_page + 1;
$k_i2 = ($page+1)*$max_per_page;
$kp1_i1 = $kp1*$max_per_page + 1;
$kp1_i2 = ($kp1+1)*$max_per_page;
$kp2_i1 = $kp2*$max_per_page + 1;
$kp2_i2 = ($kp2+1)*$max_per_page;
$nm2_i1 = $nm2*$max_per_page + 1;
$nm2_i2 = ($nm2+1)*$max_per_page;
$nm1_i1 = $nm1*$max_per_page + 1;
$nm1_i2 = ($nm1+1)*$max_per_page;
$n_i1 = $pages*$max_per_page + 1;
$num0 = "<a href='$slod$sam$t0'>1 - $tala1b</a>";
$num1 = " | <a href='$slod$sam$t1'>$tala2a - $tala2b</a>";
$num2 = " | <a href='$slod$sam$t2'>$tala3a - $tala3b</a>";
$numnm2 = "<a href='$slod$sam$nm2'>$nm2_i1 - $nm2_i2</a>";
$numnm1 = " | <a href='$slod$sam$nm1'>$nm1_i1 - $nm1_i2</a>";
$numn = " | <a href='$slod$sam$pages'>$n_i1 - $num_of_things</a>";
if($page == 0) {
$num0 = "1 - $tala1b";
}
elseif($page == 1) {
$num1 = " | $tala2a - $tala2b";
}
elseif($page == 2) {
$num2 = " | $tala3a - $tala3b";
}
elseif($page == $pages - 2) {
$numnm2 = "$nm2_i1 - $nm2_i2";
}
elseif($page == $pages - 1) {
$numnm1 = " | $nm1_i1 - $nm1_i2";
}
elseif($page == $pages) {
$numn = " | $n_i1 - $num_of_things";
}
if($km2 < $nm2 && $km2 > 2) {
$numkm2 = "<a href='$slod$sam$km2'>$km2_i1 - $km2_i2</a>";
}
if($km1 < $nm2 && $km1 > 2) {
$numkm1 = " | <a href='$slod$sam$km1'>$km1_i1 - $km1_i2</a>";
}
if($page < $nm2 && $page > 2) {
$numk = " | $k_i1 - $k_i2";
}
if($kp1 < $nm2 && $kp1 > 2) {
$numkp1 = " | <a href='$slod$sam$kp1'>$kp1_i1 - $kp1_i2</a>";
}
if($kp2 < $nm2 && $kp2 > 2) {
$numkp2 = " | <a href='$slod$sam$kp2'>$kp2_i1 - $kp2_i2</a>";
}
}
if($page > 5) {
$dots1 = " | ... | ";
}
elseif($page == 5) {
$dots1 = " | ";
}
if($page < $pages - 5) {
$dots2 = " | ... | ";
}
elseif($page >= $pages - 5 && $page < $pages && $pages >= 5) {
$dots2 = " | ";
}
$return = "$num0$num1$num2$dots1$numkm2$numkm1$numk$numkp1$numkp2$dots2$numnm2$numnm1$numn<br /> $fyrri &nbsp;&nbsp;&nbsp;&nbsp; $naesta";
return $return;
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment