Toon posts:

[PHP] Alles in pagina's verdelen.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,
Ik heb een database vol met plaatjes.
ik heb nu alles in pagina's verdeelt via PHP
15 plaatjes per pagina
maar nu heb ik stuk of 35 pagina's.
nu wil ik eigen lijk dat ie max 10 pagina's laat zien.
en steeds als ik 1 verder gaat dat hij dan de volgende pagina bij zet en de 1ste pagina hidden zet
bv
als
Normaal :
1 2 3 4 5 6 7 8 9 10 - Volgende
Pagina 2 :
Terug - 2 3 4 5 6 7 8 9 10 11 - Volgende
enz enz enz.
Pagina 5 :
Terug - 5 6 7 8 9 10 11 12 13 14 15 - Volgende
enz enz.
Hoe krijg ik dat voor elkaar
om ik vind 30 pagina;s naast elkaar niet mooi omdat het niet op 1 regel komt.

Verwijderd

Post je code eens? En vertel dan waar het mis gaat.

Als je met MySQL werkt dan zou het vrij eenvoudig moeten zijn.

Verwijderd

Hmmm waarom kies je voor die rare verdeling, tis toch beter als je dit doet

pagina 1 : 1 2 3 4 5
pagina 2 : 6 7 8 9 10
pagina 3 : 11 12 13 14 15

enz.. :?

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

limit

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
$aantal = aantal logos in db
$offset = var die wordt mee gegeven in de query string
test.php = script waar ik mee bezig ben.
Wat er boven zat heb ik even achter wegen gelaten
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?
if ($offset >= 3) { 
$vorigeoffset = $offset - 25; 
print "<a href=\"/test.php?offset=$vorigeoffset\">Terug</a>&amp;nbsp;\n"; 
} 
$paginas=intval($aantal/25);
if ($paginas < ($aantal/25)){
$paginas=($paginas + 1);
}
for ($i = 1; $i <= $paginas; $i++) { 
$nieuwoffset = 25*($i-1); 
if ($nieuwoffset == $offset) { 
print "<b>$i</b>&amp;nbsp;\n"; 
 }
else { 
print "<a href=\"/test.php?offset=$nieuwoffset\">$i</a>&amp;nbsp;\n"; 
 }
}
if (! ( ($offset/25) == ($paginas - 1) ) &amp;&amp; ($paginas != 1) ) { 
$nieuwoffset = $offset+25; 
print "<a href=\"/test.php?offset=$nieuwoffset\">Volgende</a>"; 
}
?>

Verwijderd

Topicstarter
Gewoon is wat beter te navi... :)
Google.com heeft precies het zelfde
zo wil ik het hebben eigenlijk :)
Op zondag 11 november 2001 15:12 schreef JunkyJaz het volgende:
Hmmm waarom kies je voor die rare verdeling, tis toch beter als je dit doet

pagina 1 : 1 2 3 4 5
pagina 2 : 6 7 8 9 10
pagina 3 : 11 12 13 14 15

enz.. :?

Verwijderd

Topicstarter
snapt niemand het ?

  • razor-x
  • Registratie: Februari 2001
  • Laatst online: 05-06 07:37
PHP:
1
2
3
4
5
6
7
8
<?
$begin = 5;
$aantalnum = 10;

for ($i=$begin;$i < $aantalnum;$i++) {
echo "<a href=page.php?num=$i>$i</a>";
}
?>

??
zoiets :?
Toch niet zooooo moeilijk te verzinnen ?

Verwijderd

ik snap het en zoals d2k al zei, gebruik limit, kijk maar eens in de mysql manual hoe je limit kunt gebruiken, en verzin eens wat in php. Zelfs jij moet daar uit kunnen komen...

Verwijderd

Topicstarter
ik heb de basis al lang!!!!!!!
alleen nu wil ik dat er niet meer dan 10 pagina's per pagina komen!!!!
mySQL querys zijn goed en werken

Verwijderd

Op dinsdag 13 november 2001 16:09 schreef StephanPHP het volgende:
ik heb de basis al lang!!!!!!!
alleen nu wil ik dat er niet meer dan 10 pagina's per pagina komen!!!!
mySQL querys zijn goed en werken
MySQL is nu eenmaal een stuk sneller en efficiënter dan PHP.
Dus als je een goede query maakt, kunt je in 4 regeltjes klaar zijn. Geen vergelijkingen ofzo, lekker eenvoudig.
Dat leer je toch al vrij gauw in de MySQL manual.

  • razor-x
  • Registratie: Februari 2001
  • Laatst online: 05-06 07:37
Op dinsdag 13 november 2001 16:09 schreef StephanPHP het volgende:
ik heb de basis al lang!!!!!!!
alleen nu wil ik dat er niet meer dan 10 pagina's per pagina komen!!!!
mySQL querys zijn goed en werken
als je het zo graag wilt ,waarom volg je het advies van D2k niet op?
want je moet het met limit doen :)

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
kleine aanpassing v/d code van razor-x:
code:
1
2
3
4
5
$aantal = 10
$begin = $curpage;
$eind = min($begin + $aantal, $laatstepagina);
for ($i = $begin; $i <= $eind; $i++)
    echo "pagina $i";

dat bedoel je toch?

Verwijderd

Topicstarter
ik kijk even naar je code marcus
tot nu toe :
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
<?
if ($offset >= 3) { 
$vorigeoffset = $offset - $limit; 
print "<a href=\"/test.php?offset=$vorigeoffset\">Terug</a>&amp;amp;amp;amp;nbsp;\n"; 
} 
$paginas=intval($aantal/$limit);
if ($paginas < ($aantal/$limit)){
$paginas=($paginas + 1);
}
for ($i = 1; $i <= $paginas; $i++) { 
$nieuwoffset = $limit*($i-1);
$begin = $aantal - $offset;
$begin = $limit  $begin;
for ($i=$begin;$i < $aantal;$i++) {
if ($nieuwoffset == $offset) { 
print "<b>$i</b>&amp;amp;amp;amp;nbsp;\n"; 
  }
else { 
print "<a href=\"/test.php?offset=$nieuwoffset\">$i</a>&amp;amp;amp;amp;nbsp;\n"; 
  }
 }
}
if (! ( ($offset/25) == ($paginas - 1) ) &amp;amp;amp;amp;&amp;amp;amp;amp; ($paginas != 1) ) { 
$nieuwoffset = $offset+25; 
print "<a href=\"/test.php?offset=$nieuwoffset\">Volgende</a>"; 
}
?>

#@#@!#$!#SDF GoT kan geen (\) aan :(
Pagina: 1