login  Naam:   Wachtwoord: 
Registreer je!
 Forum

pagina navigatie

Offline luchtpost - 17/11/2007 16:43 (laatste wijziging 18/11/2007 16:53)
Avatar van luchtpostPHP interesse Hallo iedereen,
Ik heb zowat alles geprobeerd maar het lukt me nog steeds niet dit pagina nummeringsscript in te bouwen in mijn website.
Ik krijg wel de nummering onderaan mijn pagina en deze zijn ook aanklikbaar maar ik zie op elke pagina dezelfde inhoud (= alle berichten van mijn weblog). Het houdt dus ook geen rekening met de ingevulde hoeveelheid van 10 berichten per pagina.

De code:
  1. <?php $db['host'] = "localhost";
  2. $db['user'] = "gebruikersnaam";
  3. $db['pass'] = "wachtwoord";
  4. $db['name'] = "databasenaam";
  5. $db['prefix'] = "prefix";
  6. $link = mysql_connect($db['host'], $db['user'], $db['pass'])
  7. or die('Could not connect: ' . mysql_error());
  8. mysql_select_db($db['name']) or die('Could not select database');
  9. $result = mysql_query("SELECT * FROM weblog WHERE news_id = 2");
  10. $num_rows = mysql_num_rows($result);
  11. $comments_per_page = 10;
  12. $total_pages = $num_rows / $comments_per_page;
  13. $total_pages = ceil($total_pages);
  14. $total_pages = 10;
  15. $current_page = $_REQUEST['page'];
  16. $etc_points = false;
  17. if ($_REQUEST['page'] == 1) $current = 0;
  18. else $current = $comments_per_page * $_REQUEST['page'] - $comments_per_page;
  19. $max = $current + $comments_per_page;
  20. $result2 = mysql_query("SELECT * FROM weblog LIMIT $current, $comments_per_page");
  21. while ($row = mysql_fetch_array($result2))
  22. {
  23. echo $row['comments_id'] . "<br>";
  24. }
  25. for($i=1;$i<=$total_pages;$i++){
  26. if($i < 3){
  27. echo "<a href=\"?page=".$i."\">" . $i . "</a> ";
  28. $etc_points = true;
  29. continue;
  30. }
  31. if($i > $total_pages - 2){
  32. echo "<a href=\"?page=".$i."\">" . $i . "</a> ";
  33. $etc_points = true;
  34. continue;
  35. }
  36. if(($i >= $current_page - 2) && ($i <= $current_page + 2)){
  37. echo "<a href=\"?page=".$i."\">" . $i . "</a> ";
  38. $etc_points = true;
  39. continue;
  40. }
  41. if($etc_points){
  42. echo " ... ";
  43. $etc_points = false;
  44. continue;
  45. }
  46. }
  47. ?>


11 antwoorden

Gesponsorde links
Offline DMM - 17/11/2007 17:16
Avatar van DMM PHP beginner Hier (bij forum.php) staat er net zo'n systeem, waarbij er dus maar x-aantal posts op de eerste pagina komen te staan.
Offline Wim - 17/11/2007 17:16
Avatar van Wim Crew algemeen lijn 17: if ($_REQUEST['page'] == 1) $current = 0;
=> if (isset($_REQUEST['page'])) $current = 0;

lijn 20: $result2 = mysql_query("SELECT * FROM weblog LIMIT $current, $comments_per_page");
=> $result2 = mysql_query("SELECT * FROM weblog LIMIT ".$current.", ".$comments_per_page);
Offline Koen - 17/11/2007 17:17
Avatar van Koen PHP expert
  1. $result = mysql_query("SELECT * FROM weblog WHERE news_id = 2");

Het lijkt me sterk dat al je nieuws-items hetzelfde ID hebben? ;o
Offline luchtpost - 17/11/2007 17:29
Avatar van luchtpost PHP interesse @sliphead: wat moet ik daar dan veranderen?
Offline Koen - 17/11/2007 17:32
Avatar van Koen PHP expert Hebben die nieuws-items allemaal hetzelfde ID? Anders wordt het waarschijnlijk fout berekent ;)
Offline luchtpost - 17/11/2007 17:41 (laatste wijziging 17/11/2007 17:43)
Avatar van luchtpost PHP interesse Wat is een ID eigenlijk?
Als ik via phpmyadmin even zoek vind ik dat de id van mijn tabel 'weblog' 1 is.
Offline Grayen - 17/11/2007 18:11
Avatar van Grayen PHP ver gevorderde Een id binnen MySQL tabel is het veld binnen de rij die nodig is om de rij te kunnen identificeren. Deze moet altijd uniek zijn, daarom heeft dit veld vaak de extra parameter auto_increment (automatisch verhogen), waardoor je nooit een rij zal krijgen met hetzelfde id. Welk veld van de tabel de id bevat geef je aan bij het maken van je tabel door het volgende:

primary key(veldnaam)

Waarbij veldnaam de naam is van het veld dat de id bevat.
Offline luchtpost - 17/11/2007 23:05 (laatste wijziging 18/11/2007 16:49)
Avatar van luchtpost PHP interesse Moet ik dan mijn tabel 'weblog' aanpassen?
Offline KingIsulgard - 18/11/2007 18:12 (laatste wijziging 18/11/2007 18:13)
Avatar van KingIsulgard Nieuw lid Nee, moet niet. Maar je roept de berichten fout op
$result = mysql_query("SELECT * FROM weblog WHERE news_id = 2");$num_rows = mysql_num_rows($result); Hiermee zul je enkel het tweede bericht selecteren.

Je kan beter iets doen als
$result = mysql_query("SELECT * FROM weblog");$num_rows = mysql_num_rows($result);

En dan met een loop 1 voor 1 elke record eruithalen en weergeven.
Offline luchtpost - 20/11/2007 16:28 (laatste wijziging 22/11/2007 20:40)
Avatar van luchtpost PHP interesse
KingIsulgard schreef:
En dan met een loop 1 voor 1 elke record eruithalen en weergeven.

Wat bedoel je hiermee?

Het enige wat ik zie zijn aanklikbare cijfers en op elke pagina staat hetzelfde (=alles).

Regel 12 tot 14 begrijp ik niet goed:
$total_pages = $num_rows / $comments_per_page;
$total_pages = ceil($total_pages);
$total_pages = 10;

Enerzijds berekent hij het aantal pagina's en anderzijds moet je het zelf invullen...

Wat is een db prefix?
Offline Giant - 22/11/2007 20:54
Avatar van Giant PHP beginner een db prefix:
bijv.
luchtpost_db
een table prefix:
bijv.
haha_table
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.209s