login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Gastenboek met navigatie

Offline Speedy - 30/01/2005 18:06
Avatar van SpeedyPHP interesse Mijn gastenboekscript is:

  1. <?PHP
  2.  
  3. include("config.php");
  4.  
  5. mysql_connect("$db_host","$db_user","$db_psw");
  6. mysql_select_db("$db_name");
  7.  
  8. $select = "SELECT * FROM gastenboek ORDER BY id DESC";
  9. $query = mysql_query($select);
  10. $records = mysql_num_rows($query);
  11.  
  12. echo " <a href=\"index.php?p=toevoegen\">&gt;&gt; Gastenboek tekenen</a>";
  13. echo "<p>Er zijn al <b><font color=#FF0000>$records</font></b> berichten toegevoegd!</p>";
  14.  
  15. while ($list = mysql_fetch_object($query)) {
  16. echo "<p><table>";
  17. echo "<tr><td width=125><b>Naam:</b></td><td>$list->auteur</td></tr>";
  18. echo "<tr><td width=125><b>E-mail:</b></td><td>$list->email</td></tr>";
  19. echo "<tr><td valign=top width=50><b>Bericht:</b></td><td>$list->bericht</td></tr>";
  20. echo "<tr><td width=125><b>Toegevoegd op:</b></td><td><font color=#FF0000>$list->datum - $list->tijd</font></td></tr>";
  21. echo "</table></p><br><hr size=1 color=#006699 width=100%>";
  22. }
  23.  
  24. ?>


Mijn navigatiecode is:

  1. <?
  2. $page = (!isset($_GET['page'])) ? 1 : $_GET['page'];
  3. //aantal records per pagina
  4. $max = 20;
  5. $start = ($max * $page) - $max;
  6. //hier je gegevens van je mysql ophalen
  7. while($var = mysql_fetch_array(mysql_query("SELECT * FROM gastenboek ORDER BY id LIMIT " . $start . ", " . $max . ""))) {
  8. echo $var['id'];
  9. }
  10. //hier aan jou mysql gegevens aanpassen
  11. $rows = mysql_result(mysql_query("SELECT COUNT(id) FROM gastenboek ORDER BY id"),0);
  12. $pages = ceil($rows / $max);
  13. if ($page > 1) {
  14. $previous = $page - 1;
  15. echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?page=" . $previous . "\"><<</a>&nbsp";
  16. }
  17. for ($i = 1; $i <= $pages; $i++) {
  18. if ($page == $i) {
  19. if ($i == $pages) {
  20. echo "<b>" . $i . "</b>&nbsp";
  21. } else {
  22. echo "<b>" . $i . "</b>,&nbsp";
  23. }
  24. } else {
  25. if ($i == $pages) {
  26. echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?page=" . $i . "\">" . $i . "</a>&nbsp";
  27. } else {
  28. echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?page=" . $i . "\">" . $i . "</a>,&nbsp";
  29. }
  30. }
  31. }
  32. if ($page < $pages) {
  33. $next = $page + 1;
  34. echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?page=" . $next . "\">>></a>";
  35. }
  36. ?>


Hoe voeg ik dat samen?

4 antwoorden

Gesponsorde links
Offline Addow - 30/01/2005 19:46 (laatste wijziging 01/02/2005 09:21)
Avatar van Addow Gouden medaille

PHP beginner
Ik heb er eens wat aan gesleuteld, en normaal moet dit correct zijn... ik had wel geen tabellenoverzicht van je gekregen, maar peis wel dat 't zo goed zit:

  1. <?
  2.  
  3. include("config.php");
  4.  
  5. mysql_connect("$db_host","$db_user","$db_psw");
  6. mysql_select_db("$db_name");
  7.  
  8. /* Navigatiegedeelte
  9. *
  10. ********************/
  11.  
  12. $page = (!isset($_GET['page'])) ? 1 : $_GET['page'];
  13. //aantal records per pagina
  14. $max = 20;
  15. $start = ($max * $page) - $max;
  16.  
  17. // aantal berichten tellen in je gb
  18. $rows = mysql_result(mysql_query("SELECT COUNT(id) FROM gastenboek ORDER BY id"),0);
  19.  
  20. // aantal pagina's berekenen
  21. $pages = ceil($rows / $max);
  22.  
  23. // genereren van "vorige"
  24. if ($page > 1) {
  25. $previous = $page - 1;
  26. echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?page=" . $previous . "\"><<</a>&nbsp";
  27. }
  28.  
  29. // genereren van de verschillende paginanummers
  30. for ($i = 1; $i <= $pages; $i++) {
  31. if ($page == $i) {
  32. if ($i == $pages) {
  33. echo "<b>" . $i . "</b>&nbsp";
  34. } else {
  35. echo "<b>" . $i . "</b>,&nbsp";
  36. }
  37. } else {
  38. if ($i == $pages) {
  39. echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?page=" . $i . "\">" . $i . "</a>&nbsp";
  40. } else {
  41. echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?page=" . $i . "\">" . $i . "</a>,&nbsp";
  42. }
  43. }
  44. }
  45.  
  46. // genereren van "volgende"
  47. if ($page < $pages) {
  48. $next = $page + 1;
  49. echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?page=" . $next . "\">>></a>";
  50. }
  51.  
  52. /* Gastenboekreacties
  53. *
  54. ********************/
  55.  
  56. $select = "SELECT * FROM gastenboek ORDER BY id DESC LIMIT " . $start . ", " . $max . "";
  57. $query = mysql_query($select);
  58. $records = mysql_num_rows($query);
  59.  
  60. echo " <a href=\"index.php?p=toevoegen\">&gt;&gt; Gastenboek tekenen</a>";
  61. echo "<p>Er zijn al <b><font color=#FF0000>$rows</font></b> berichten toegevoegd!</p>";
  62.  
  63. while ($list = mysql_fetch_object($query)) {
  64. echo "<p><table>";
  65. echo "<tr><td width=125><b>Naam:</b></td><td>$list->auteur</td></tr>";
  66. echo "<tr><td width=125><b>E-mail:</b></td><td>$list->email</td></tr>";
  67. echo "<tr><td valign=top width=50><b>Bericht:</b></td><td>$list->bericht</td></tr>";
  68. echo "<tr><td width=125><b>Toegevoegd op:</b></td><td><font color=#FF0000>$list->datum - $list->tijd</font></td></tr>";
  69. echo "</table></p><br><hr size=1 color=#006699 width=100%>";
  70. }
  71.  
  72. ?>


Laat maar iets weten, en eventuele foutmeldingen mag je hier weer posten! Some good luck...
Offline Speedy - 31/01/2005 21:09 (laatste wijziging 31/01/2005 21:10)
Avatar van Speedy PHP interesse Bedankt alles werkt!!!!

Alleen geeft hij hier ...

  1. <?
  2. echo "<p>Er zijn al <b><font color=#FF0000>$records</font></b> berichten toegevoegd!</p>";
  3. ?>


  1. <?
  2. $select = "SELECT * FROM gastenboek ORDER BY id DESC LIMIT " . $start . ", " . $max . "";
  3. $query = mysql_query($select);
  4. $records = mysql_num_rows($query);
  5. ?>


... alleen maar de berichten weer die op 1 pagina staan.

Kan ik nog een totaal weergeven van het aantal berichten?

@ Addow, bedankt, wat een service!!!:!: 
Offline Dennisvb - 31/01/2005 21:12
Avatar van Dennisvb MySQL ver gevorderde Totaal aantal berichten staat toch al hier:

  1. $rows = mysql_result(mysql_query("SELECT COUNT(id) FROM gastenboek ORDER BY id"),0);

?

Graag ook variabelen buiten haakjes zetten...
Offline Addow - 01/02/2005 09:23
Avatar van Addow Gouden medaille

PHP beginner
@ Speedy:
Graag gedaan hoor, maar probeer in 't vervolg zelf ook wat te knutselen, zodat je er ook iets van opsteekt. Ik heb liever dat je hier komt aankloppen nadat je allerlei dingen geprobeerd hebt, en uiteindelijk hier komt vragen om het te debuggen. Nu krijg je 't in feite ook maar gepresenteerd, waardoor je maar 10% hebt geleerd hieruit. Succes nog! 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.222s