Regnery.net Internet

HTML CSS PHP MYSQL JQuery SEO – internetoplossingen

Gastenboek – script PHP

gastenboek-vervolg.php
<?php 
include 'connect.php'; 
include 'class.paginate.php';

$sql = mysql_query("SELECT timestamp, naam, email, bericht  FROM tblbericht ORDER BY timestamp DESC");
if(mysql_num_rows($sql) == 0) {    
echo 'Nog geen berichten';   
} else {    
while($row = mysql_fetch_array($sql)){     
$result[] = $row;    
}           

$pagination = new Pagination();      
$numbers = $pagination->Paginate($result, 4);    
$data = $pagination->fetchResult();      
foreach($data as $d) {    
echo '<p><strong>Ingezonden op:'.$d['timestamp'].'; Door: ';    
echo $d['naam'].'; (';    
echo $d['email'].') ;</strong><br />';    
echo $d['bericht'].'</p>';   
}      

foreach($numbers as $n) {    
  echo '<a href="gastboek-vervolg.php?page='.$n.'">pagina '.$n.'</a> ';   
  } 
}      
echo '<br /><br />';   
echo '<a href="gastboek.php">Terug naar gastenboek...</a>'; 
?>

Deze pagina laat alle berichten zien in het gastenboek. Het script laat nu vier berichten per pagina staan. Je kunt dit wijzigen in ieder gewenst aantal door in $pagination->Paginate($result, 4); het getal van vier aan te passen.

Om de pagina’s te kunnen opdelen, maakt het script gebruik van een class om dit voor elkaar te krijgen. Deze ziet er als volgt uit:

class.paginate.php
<?php

class Pagination {  
var $data;    
function Paginate($values, $per_page){   
$total_values = count($values);      
if(isset($_GET['page'])){    
$current_page = $_GET['page'];       
} else {    
$current_page = 1;   
}      

$counts = ceil($total_values / $per_page);   
$param1 = ($current_page - 1) * $per_page;   
$this->data = array_slice($values, $param1, $per_page);      
for ($x=1; $x<=$counts; $x++) {    $numbers[] = $x;   }      
return $numbers;     
}    

function fetchResult (){   
  $resultValues = $this->data;   return $resultValues;  
} 
}   
?>