Scripts

Pagina navigatie

Hiermee kan je, als je bijv. 300 reacties hebt, en je wilt er daar maar 25 per pagina laten zien, dan kan verschillende pagina's laten creeeren. Het zal niet perfect geschreven zijn. Maar ik ben nog maar een beginner. Functies: 1. Tellen van de resultaten 2. als er er een hoger nummer word opgegeven dan er is (bijv: er zijn 10 pagina's maar er worden er 20 meegegeven) dan gaat hij gewoon naar de laatste pagina. 3. Anti SQL injectie (als dus i.p.v. pagina_id=1 pagina_id=blaat word opgegeven) krijg je een error. Dit is het eerste script wat ik hier plaats, op- of aanmerkingen altijd welkom.

pagina-navigatie
[code]
<?php
$aantal_waardes = "25"; // hoeveel per pagina weergeven
$querytel = "SELECT COUNT(*) AS count_r FROM fastlog_reacties";
$resulttel = mysql_query($querytel)  or die("Tellen ging fout. Contacteer aub een Administrator."); // tellen uit de MYSQL tabel
$count = mysql_fetch_assoc($resulttel);
$count_r = $count['count_r'];
$count_r_deel = $count_r / $aantal_waardes; // delen van $count_r met $aantal_waardes
$count_r_afgerond = ceil($count_r_deel); // afronden naar boven, anders krijg je halve pagina's
if(isset($_GET['pagina_id'])) { // kijken of er 1 word meegegeven, anders 1 wegzetten
	$page = $_GET['pagina_id'];
} else {
	$page = "1";
}
if($page > $count_r_afgerond) {
	$page = $count_r_afgerond;
}
if(!is_numeric($page)) { // als hij niet nummeric is.
		//hack poging via GET
		$get = $page;
		header("Location: index.php?p=hack&pagina=reactieall&get=" . $get . "");
		exit;
	}
$limiet = $page * $aantal_waardes; // limit voor SQL instellen
$limiet1 = $limiet - $aantal_waardes; // Limit voor SQL instellen

if ($page > "1") { // vorige link wegzetten
    $vorige = $page - 1;
    $vorige = '<a href="'.$_SERVER['PHP_SELF'].'?p=reactieall&pagina_id='.$vorige.'">&laquo; Vorige</a>&nbsp;';
	echo $vorige;
} else {
	echo '';
}
$rijtje = ''; // Een rij wegzetten bijv 123456

for ($i = 1; $i < $count_r_deel; $i++) {

    if ($i == $page) {
        
        $rijtje .= '<b>'.$i.'</b>';
    }
    
    else {
        
        $rijtje .= '<a href="'.$_SERVER['PHP_SELF'].'?p=reactieall&pagina_id='.$i.'">'.$i.'</a>&nbsp;';
    }
} 
echo '&nbsp;'; echo $rijtje; echo '&nbsp;';
if ($page < $count_r_afgerond) { // Een volgende link wegzetten
    
    $volgende = $page + 1;
    $volgende = '<a href="'.$_SERVER['PHP_SELF'].'?p=reactieall&pagina_id='.$volgende.'">Volgende &raquo;</a>';
	echo $volgende;
} else {
	echo '';
}
?>
[/code]

Reacties

0
Nog geen reacties.