Vorige /Volgende Vraagje
alvast bedankt
srry in het verkeerde forum maar dat geeft toch niet???
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
<< 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
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?
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;
}
?>
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
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?
$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
);
?>
$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 aantal pagina's
zo kan je hem gebruiken:
en dan de rest met een for loop laten printen
Ik moet die fucnties opnemen en dan bij een while lus printen maar hoe???
hoe met mysql??
snap niet echt veel van
Marien
het enige wat je nu nog moet doen is $items vervangen door het aantal records in de DB
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<?
$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.'&page=first">begin</a> ';
for($i=$pages['min'];$i<=$pages['max'];$i++){
if($pages['page']!=$i){
echo '<a href="'.$_SERVER['PHP_SELF'].'?limit='.$limits.'&page='.$i.'">'.($i+1).'</a> ';
}else{
echo $i+1 .' ';
}
}
echo'<a href="'.$_SERVER['PHP_SELF'].'?limit='.$limits.'&page=last">eind</a> ';
?>
$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.'&page=first">begin</a> ';
for($i=$pages['min'];$i<=$pages['max'];$i++){
if($pages['page']!=$i){
echo '<a href="'.$_SERVER['PHP_SELF'].'?limit='.$limits.'&page='.$i.'">'.($i+1).'</a> ';
}else{
echo $i+1 .' ';
}
}
echo'<a href="'.$_SERVER['PHP_SELF'].'?limit='.$limits.'&page=last">eind</a> ';
?>
Oke bedankt voor de moeite, zal zeker uit gaan proberen.
overigens: je kan het ook veel makkelijker doen ZONDER mysql... als het bijvoorbeeld om een gastenboek gaat(zoals ik dat doe) is dat heel makkelijk... ik denk dat julie binnenkort een gastenboek ZONDER mysql, met vorige-volgende en admin en misschien bericht weizigen...:D:D:D:D:D
de code is als volgt:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?
// Variabelen
if(is_numeric($_GET['max'])) $max = $_GET['max'];
if(is_numeric($_GET['start'])) $start = $_GET['start'];
if (empty($max)) $max = 30; // $max is het maximaal aantal resultaten per pagina
if (empty($start)) $start = 0; // Laten staan, hiermee begint de query op het goede punt
// Rekenen
$eind = $start + $max; // Voor de query, tot welke record die moet gaan
$vorige = $start - $max; // Voor de variabele start voor 'vorige'-link
$volgende = $eind; // Voor de variabele start voor 'volgende'-link
// Selecteer alles uit de tabel
$query2 = mysql_query("SELECT * FROM clip ORDER BY naam LIMIT $start,$max") or die("Foutje". mysql_error());
// Aantal rijen opgehaald.
$num = mysql_num_rows($query2);
if (empty($num))
{
echo "<p>Er zijn geen videoclips.</p>";
}
else
{
$i = "$start";
while(list($id, $naam, $url, $speler, $ringtone, $bekeken) = mysql_fetch_row($query2))
{
$i++;
echo "
<tr>
<td><font size=\"2\">". $i ." <a href=\"javascript:NewWindow('popup/popup.php?id=$id','clip','420','480','center','front');\">". $naam ."</a></font><br /></td>
<td width=\"11%\"><font size=\"2\">". $bekeken ."x bekeken</td>
<td width=\"30%\"><font size=\"2\">Download <a href=\"http://www.sitsat.nl/geluidje/zoeken.php?rtquery=$naam&rttypeov=poly\" target=\"_blank\"> hier</a> de polyfone ringtone.</font></td>
</tr>
";
}
echo "</table><p>\n";
// Kijken of $vorige groter of gelijk is aan 0, dan de hyperlink 'Vorige'
if ($vorige >= '0')
{
echo "<a href=\"archief.php?start=$vorige&max=$max\">Vorige</a>\n";
// De variabele start geeft voor de volgende pagina aan waar de query moet starten
}
// Tellen hoeveel records er zijn
$aantal = mysql_fetch_row(mysql_query("SELECT count(*) FROM clip"));
// Als het aantal groter is dan $volgende de link laten zien
if ($aantal[0] > $volgende)
{
echo "<a href=\"archief.php?start=$volgende&max=$max\">Volgende</a>\n";
// De variabele start geeft voor de volgende pagina aan waar de query moet starten
}
echo "</p>\n";
}
?>
// Variabelen
if(is_numeric($_GET['max'])) $max = $_GET['max'];
if(is_numeric($_GET['start'])) $start = $_GET['start'];
if (empty($max)) $max = 30; // $max is het maximaal aantal resultaten per pagina
if (empty($start)) $start = 0; // Laten staan, hiermee begint de query op het goede punt
// Rekenen
$eind = $start + $max; // Voor de query, tot welke record die moet gaan
$vorige = $start - $max; // Voor de variabele start voor 'vorige'-link
$volgende = $eind; // Voor de variabele start voor 'volgende'-link
// Selecteer alles uit de tabel
$query2 = mysql_query("SELECT * FROM clip ORDER BY naam LIMIT $start,$max") or die("Foutje". mysql_error());
// Aantal rijen opgehaald.
$num = mysql_num_rows($query2);
if (empty($num))
{
echo "<p>Er zijn geen videoclips.</p>";
}
else
{
$i = "$start";
while(list($id, $naam, $url, $speler, $ringtone, $bekeken) = mysql_fetch_row($query2))
{
$i++;
echo "
<tr>
<td><font size=\"2\">". $i ." <a href=\"javascript:NewWindow('popup/popup.php?id=$id','clip','420','480','center','front');\">". $naam ."</a></font><br /></td>
<td width=\"11%\"><font size=\"2\">". $bekeken ."x bekeken</td>
<td width=\"30%\"><font size=\"2\">Download <a href=\"http://www.sitsat.nl/geluidje/zoeken.php?rtquery=$naam&rttypeov=poly\" target=\"_blank\"> hier</a> de polyfone ringtone.</font></td>
</tr>
";
}
echo "</table><p>\n";
// Kijken of $vorige groter of gelijk is aan 0, dan de hyperlink 'Vorige'
if ($vorige >= '0')
{
echo "<a href=\"archief.php?start=$vorige&max=$max\">Vorige</a>\n";
// De variabele start geeft voor de volgende pagina aan waar de query moet starten
}
// Tellen hoeveel records er zijn
$aantal = mysql_fetch_row(mysql_query("SELECT count(*) FROM clip"));
// Als het aantal groter is dan $volgende de link laten zien
if ($aantal[0] > $volgende)
{
echo "<a href=\"archief.php?start=$volgende&max=$max\">Volgende</a>\n";
// De variabele start geeft voor de volgende pagina aan waar de query moet starten
}
echo "</p>\n";
}
?>
Gewijzigd op 23/03/2004 16:21:00 door Marien xD
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?
$items = mysql_result(mysql_query("SELECT count(*) FROM clip"),0);
// en deze query gebruiken om de data op te halen
$query='SELECT * FROM tabelnaam LIMIT '.($pages['page']*$limits).','.$limits.';';
?>
$items = mysql_result(mysql_query("SELECT count(*) FROM clip"),0);
// en deze query gebruiken om de data op te halen
$query='SELECT * FROM tabelnaam LIMIT '.($pages['page']*$limits).','.$limits.';';
?>
www.superclip.tk onder het menu kopje archief
He thanks je kan het resultaat zien op