login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Hulp nodig bij pagina navigatie...

Offline roelywoely - 24/02/2006 13:44 (laatste wijziging 24/02/2006 13:54)
Avatar van roelywoelyNieuw lid Ik heb me net geregistreert omdat ik hulp zoek. Ben er al 2 maanden mee bezig maar het lukt maar niet, dus ik vraag om jullie hulp. Google heb ik al geprobeerd ik heb kant en klare scripts geprobeerd en mensen zelf hulp gevraagt maar nee. Ik ben zelf maar begonnen met een script... Hier is hij dan:

  1. <?
  2. $aantal_resultaten = 4;
  3. $aantal_items = mysql_query("SELECT COUNT(id) FROM test");
  4. $aantal_paginas = ceil($aantal_items / $aantal_resultaten);
  5. echo '<form method="get" name="navigatie" action="'.$_SERVER["PHP_SELF"].'">';
  6. $pagina = $_GET['pagina'];
  7. $huidige_pagina = 0;
  8. if ($pagina > 0 && is_numeric($pagina) && isset($pagina) && $pagina < $aantal_paginas) {
  9. $huidige_pagina = $pagina; }
  10. $startpositie = $huidige_pagina * $aantal_resultaten;
  11. $actie = mysql_query("SELECT * FROM test ORDER BY id DESC LIMIT $startpositie,$aantal_resultaten");
  12. while ($rij= mysql_fetch_array($actie)) {
  13. echo $rij['id']."<br>";
  14. echo $rij['voornaam']."<br>";
  15. echo $rij['achternaam']."<br>";
  16. echo $rij['leeftijd']."<br>";
  17. echo $rij['geslacht']."<br>";
  18. echo $rij['datum']."<br><br><br>"; }
  19. $hulpvar = 0;
  20. echo '<select name="pagina" onChange="document.navigatie.submit();">';
  21. while ($hulpvar <= $aantal_paginas) {
  22. echo '<option value="'.($hulpvar+1).'">'.($hulpvar+1).'</option>';
  23. $hulpvar++; }
  24. echo "</select>\n</form>";
  25. ?>


Wat hij doet is als je op pagina 2 klikt staat er wel pagina=2 achter de link, maar hij laat de records van de 1e pagina zien. De tabel heeft in totaal 18 items, en er worden maar 2 pagina's weergegeven (4 items per pagina) het zouden er dus 5 moeten zijn. Hier is het levende script: http://www.dvision-music.nl/pagnav/nieuw.php
Kortom: ik heb ongeveer een navigatie nodig als bij sitemasters (en verwijs me nu aub niet door naar een script, want ik snap er dan toch niks van (al 5x geprobeerd))

De gegevens slaan nergens op ik heb ze zelf verzonnen om de pagina navigatie te testen.

Alvast bedankt,
Mvg
Roel

3 antwoorden

Gesponsorde links
Offline kokx - 24/02/2006 14:16 (laatste wijziging 24/02/2006 14:17)
Avatar van kokx Onbekend
  1. <?php
  2. $aantal_resultaten = 4;
  3. $query = mysql_query("SELECT COUNT(id) AS items FROM test");
  4. $array = mysql_fetch_array($query);
  5. $aantal_items = $array['items'];
  6. $aantal_paginas = ceil($aantal_items / $aantal_resultaten);
  7. echo '<form method="get" name="navigatie" action="'.$_SERVER["PHP_SELF"].'">';
  8. $pagina = $_GET['pagina'];
  9. $huidige_pagina = 0;
  10. if ($pagina > 0 && is_numeric($pagina) && isset($pagina) && $pagina < $aantal_paginas) {
  11. $huidige_pagina = $pagina; }
  12. $startpositie = $huidige_pagina * $aantal_resultaten;
  13. $actie = mysql_query("SELECT * FROM test ORDER BY id DESC LIMIT $startpositie,$aantal_resultaten");
  14. while ($rij= mysql_fetch_array($actie)) {
  15. echo $rij['id']."<br>";
  16. echo $rij['voornaam']."<br>";
  17. echo $rij['achternaam']."<br>";
  18. echo $rij['leeftijd']."<br>";
  19. echo $rij['geslacht']."<br>";
  20. echo $rij['datum']."<br><br><br>"; }
  21. $hulpvar = 0;
  22. echo '<select name="pagina" onChange="document.navigatie.submit();">';
  23. while ($hulpvar <= $aantal_paginas) {
  24. echo '<option value="'.($hulpvar+1).'">'.($hulpvar+1).'</option>';
  25. $hulpvar++; }
  26. echo "</select>\n</form>";
  27. ?>

Ik heb even een query aangepast en de resultaten in een array gestopt. Ik denk dat het zo moet werken. Leer eerst eens wat beter php en mysql: http://www.site...p;type=int voor php en
http://www.site...p;type=int voor mysql.
Offline roelywoely - 24/02/2006 14:20 (laatste wijziging 24/02/2006 16:13)
Avatar van roelywoely Nieuw lid Heej dit lijkt er al meer op!! Bedankt!! Ik zie nu wat ik fout heb gedaan... Het was een domme fout!
Hij maakt alleen ook nog pagina 5 en 6 erbij wat niet zou moeten... Hij laat op beide pagina's hetzelfde zien als op pagina 1.
Hoe los ik dit laatste dan op Of kan iemand de fout aanwijzen dan die ik het zelf wel 

EDIT:
Je moet weten dat ik deze pagina navigatie heb gemaakt met behulp van http://www.site...amp;id=198
Ik heb het een en ander al veranderd, de pagina zelf ook. Je kunt nu zelf ook bijhouden wat de startpositie etc. is.

Bij pagina 5 geeft hij een foutmelding, ik denk omdat de startpositie dan op -4 staat. Hier is de code:

  1. <?php
  2. $host = "localhost";
  3. $user = "dvision";
  4. $pass = "*";
  5. $connect = mysql_connect($host,$user,$pass);
  6. mysql_select_db("dvision_data",$connect);
  7. $aantal_resultaten = 4;
  8. $query = mysql_query("SELECT COUNT(id) AS aantal FROM test");
  9. $items = mysql_fetch_array($query);
  10. $aantal_items = $items['aantal'];
  11. $aantal_paginas = ceil($aantal_items / $aantal_resultaten);
  12. #####
  13. echo "aantal paginas: ".$aantal_paginas."<br><br>";
  14. echo "aantal items: ".$aantal_items."<br><br>";
  15. #####
  16. echo '<form method="get" name="navigatie" action="'.$_SERVER["PHP_SELF"].'">';
  17. $pagina = $_GET['pagina'];
  18. $huidige_pagina = 0;
  19. if ($pagina > 0 && is_numeric($pagina) && isset($pagina) && $pagina < $aantal_paginas) {
  20. $huidige_pagina = $pagina; }
  21. $startpositie = ($huidige_pagina - 1) * $aantal_resultaten;
  22. #####
  23. echo "startpositie: ".$startpositie."<br><br>";
  24. echo "huidige pagina: ".$huidige_pagina."<br><br>";
  25. echo "aantal_resultaten: ".$aantal_resultaten."<br><br>";
  26. #####
  27. $actie = mysql_query("SELECT * FROM test ORDER BY id DESC LIMIT $startpositie,$aantal_resultaten");
  28. while ($rij= mysql_fetch_array($actie)) {
  29. echo $rij['id']."<br>";
  30. echo $rij['voornaam']."<br>";
  31. echo $rij['achternaam']."<br>";
  32. echo $rij['leeftijd']."<br>";
  33. echo $rij['geslacht']."<br>";
  34. echo $rij['datum']."<br><br><br>"; }
  35. $hulpvar = 0;
  36. echo '<select name="pagina" onChange="document.navigatie.submit();">';
  37. while ($hulpvar <= $aantal_paginas) {
  38. echo '<option value="'.($hulpvar+1).'">'.($hulpvar+1).'</option>';
  39. $hulpvar++; }
  40. echo "</select>\n</form>";
  41. ?>

Tussen de ##### staan de stukjes die niet nodig zijn.
Offline BigBug - 24/02/2006 20:55 (laatste wijziging 24/02/2006 21:36)
Avatar van BigBug PHP expert FangorN heeft toch een tutorial gemaakt over Paginanavigatie met Php & MySQL? Kijk maar bij de tutorials! Daar moet je een heel end mee komen.

vinTage edit: lees zn edit even aub...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.301s