Ik heb het vorige / volgende script ingebruik van deze website maar omdat ik nu zoveel record heb moet je veel keer op volgende klikken om bij de laatste te komen. Nu zag ik op andere website het volgende: << 1 2 3 4 5 >> o.i.d. Hoe is dat te realiseren ik neem aan dat alles kan met php (zoals ik al ervaren hebt)

alvast bedankt
srry in het verkeerde forum maar dat geeft toch niet???
wat bedoel je met << en >> ?
een knopje voor volgende/vorige pagina?

of een knop naar het begin of einde
<< >> is het volgende dus als je op een zit naar twee een twee naar drie maar die heb ik al. nu alleen die een en twee enz. nog
Ik denk dat er word bedoeld van :
<< 1 2 3 4 5 >>
en later:
<< 55 56 57 58 59 60 >>

Zit ook met zo probleem
dat hoeft nog geen eens als ik die een en twee maar hebt
bekijk deze 2 functies is, die heb ik een tijdje geleden gemaakt hiervoor
<?
function limit(){
global $limits;
if(isset($_GET['limit'])){

if($limits['max_limit']<=(int)$_GET['limit']){
$limit=$limits['max_limit'];
}elseif($limits['min_limit']>=(int)$_GET['limit']){
$limit=$limits['min_limit'];
}else{
$limit=(int)$_GET['limit'];
}
}else $limit=$limits['norml_limit'];
return $limit;
}

function pages($pages){
global $limits;
if(isset($_GET['page'])){
$case=0;
if($pages<=(int)$_GET['page']) $case+=1;
if(0>=(int)$_GET['page']) $case+=2;

switch($case){
case 0:
$page=(int)$_GET['page'];
break;
case 1:
$page=$pages;
break;
case 2:
$page=0;
break;
}

if($_GET['page']=='last')
$page=$pages;
if($_GET['page']=='first')
$page=0;

}else $page=0;

$page['page']=$page;
if($page['page']+$limits['page_diff']<=$pages){
$page['max']=$page+$limits['page_diff'];
}else{
$page['max']=$pages;
}

if($page['page']+$limits['page_diff']>=0){
$page['min']=$page+$limits['page_diff'];
}else{
$page['min']=0;
}

return $page;
}
?>

en hier is $limits
<?
$limits=array(
'min_limit' =>5,//the minimum amount of products per page
'max_limit' =>100,//the maximum of products per page
'norml_limit' =>10,//the default value
'page_diff' =>2,//de difference between page number, example if page 25: 23,24,25,26,27
);
?>
hoe gebruik je die in combinatie met mysql?
het script heeft maar 1 input nodig eigenlijk

het aantal pagina's
zo kan je hem gebruiken:
<?
$limits=limit();
$pages=pages(aantal_paginas);
?>
en dan de rest met een for loop laten printen
dus ik moet dat hele vorige volgende verhaal vergeten en dit gebruiken. Alleen ik snap het nog niet zo erg.

Ik moet die fucnties opnemen en dan bij een while lus printen maar hoe???

hoe met mysql??

snap niet echt veel van

Marien
ok hier is een werkend stukje code
het enige wat je nu nog moet doen is $items vervangen door het aantal records in de DB

<?
$limits=array(
'min_limit' =>5,//the minimum amount of products per page
'max_limit' =>100,//the maximum of products per page
'norml_limit' =>10,//the default value
'page_diff' =>2,//de difference between page number, example if page 25: 23,24,25,26,27
);

function limit(){
global $limits;
if(isset($_GET['limit'])){

if($limits['max_limit']<=(int)$_GET['limit']){
$limit=$limits['max_limit'];
}elseif($limits['min_limit']>=(int)$_GET['limit']){
$limit=$limits['min_limit'];
}else{
$limit=(int)$_GET['limit'];
}
}else $limit=$limits['norml_limit'];
return $limit;
}

function pages($pages){
global $limits;
if(isset($_GET['page'])){

if($pages<(int)$_GET['page']){
$_GET['page']='max';
}elseif(0>(int)$_GET['page']){
$_GET['page']='min';
}

switch ($_GET['page']) {
case 'max':
$page=$pages-1;
break;
case 'last':
$page=$pages-1;
break;
case 'min':
$page=0;
break;
case 'first':
$page=0;
break;
default:
$page=(int)$_GET['page'];
}
}else $page=0;
$p=$page;
unset($page);
$page['page']=$p;

if($p+$limits['page_diff']>=$pages){
$page['max']=$p+$limits['page_diff'];
}else{
$page['max']=$pages;
}

if($p-$limits['page_diff']<=0){
$page['min']=$p-$limits['page_diff'];
}else{
$page['min']=0;
}
$page['max']=$page['max']-1;
$page['last']=$pages-1;
$page['first']=0;
$page['pages']=$pages;

return $page;
}

$limits=limit();
$items=50; // dit is een voorbeeld, hier moet het totaal aantal items komen
$pages=pages(ceil($items/$limits));

echo'Er zijn '.$items.' items gevonden verdeelt over '.$pages['last'].' pagina\'s met '.$limits.' items per pagina <br />';

echo'Pagina: <a href="'.$_SERVER['PHP_SELF'].'?limit='.$limits.'&amp;page=first">begin</a> ';
for($i=$pages['min'];$i<=$pages['max'];$i++){
if($pages['page']!=$i){
echo '<a href="'.$_SERVER['PHP_SELF'].'?limit='.$limits.'&amp;page='.$i.'">'.($i+1).'</a> ';
}else{
echo $i+1 .' ';
}
}
echo'<a href="'.$_SERVER['PHP_SELF'].'?limit='.$limits.'&amp;page=last">eind</a> ';
?>

Reageren