login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Script paginanummering van WIJNAND (Opgelost)

Offline farida - 19/07/2009 18:08
Avatar van faridaNieuw lid Hallo kan iemand mij helpen. (ik ben nog een beginner)

Ik heb het script paginanummering van Wijnand geprobeerd te gebruiken, maar zonder succes.

Waar moet ik de sql-query's zetten. Ik heb van alles geprobeerd, maar ik kom er niet uit.

IK HOOP DAT IEMAND MIJ KAN/WIL HELPEN

script van Wijnand is:

  1. <?php
  2. function navigatie($currentpage,$totalpages,$url)
  3. {
  4. $output = '';
  5. $output_num = '';
  6.  
  7. // both = 4 of meer
  8. if (($currentpage - 4) > 0 && ($currentpage + 4) < $totalpages) {
  9. for($a = ($currentpage-4);$a <= ($currentpage+4);$a++) {
  10. if ($a == $currentpage) {
  11. $output_num .= ' <b>[' . $a .']</b> ';
  12. } else {
  13. $output_num .= ' <a href="' . $url . $a . '">' . $a . '</a> ';
  14. }
  15. }
  16. if (($currentpage - 4) == 1) {
  17. $first = false;
  18. } else {
  19. $first = true;
  20. }
  21. if (($currentpage + 4) == $totalpages) {
  22. $last = false;
  23. } else {
  24. $last = true;
  25. }
  26.  
  27. // left = 4 of meer
  28. } elseif (($currentpage - 4) > 0) {
  29. $math = $totalpages - $currentpage;
  30. $start_temp = 9 - $math;
  31. $start = $currentpage - $start_temp;
  32. if ($start < 1) {
  33. $start = 1;
  34. }
  35. for($a = $start;$a <= $totalpages;$a++) {
  36. if ($a == $currentpage) {
  37. $output_num .= ' <b>[' . $a .']</b> ';
  38. } else {
  39. $output_num .= ' <a href="' . $url . $a . '">' . $a . '</a> ';
  40. }
  41. }
  42. $last = false;
  43. $first = true;
  44. // right = 4 of meer
  45. } elseif (($currentpage + 4) < $totalpages) {
  46. if ($totalpages > 9) {
  47. $loop = 9;
  48. } else {
  49. $loop = $totalpages;
  50. }
  51. for($a = 1;$a <= $loop;$a++) {
  52. if ($a == $currentpage) {
  53. $output_num .= ' <b>[' . $a .']</b> ';
  54. } else {
  55. $output_num .= ' <a href="' . $url . $a . '">' . $a . '</a> ';
  56. }
  57. }
  58. $last = true;
  59. $first = false;
  60. // none = 4 of meer
  61. } else {
  62. for($a = 1;$a <= $totalpages;$a++) {
  63. if ($a == $currentpage) {
  64. $output_num .= ' <b>[' . $a .']</b> ';
  65. } else {
  66. $output_num .= ' <a href="' . $url . $a . '">' . $a . '</a> ';
  67. }
  68. }
  69. $last = false;
  70. $first = false;
  71. }
  72. if ($first == true) {
  73. $output .= ' <b><a href="' . $url . '1">[eerste]</a></b> ';
  74. }
  75. if ($currentpage != 1) {
  76. $output .= ' <b><a href="' . $url . ($currentpage-1) .' ">[vorige]</a></b> ';
  77. }
  78. $output .= " &nbsp;&nbsp; " . $output_num . "&nbsp;&nbsp;";
  79. if ($currentpage != $totalpages) {
  80. $output .= ' <b><a href="' . $url . ($currentpage+1) . ' ">[volgende]</a></b> ';
  81. }
  82. if ($last == true) {
  83. $output .= '<b><a href="' . $url . $totalpages . ' ">[laatste]</a></b> ';
  84. }
  85.  
  86. return $output;
  87. }
  88.  
  89. $itemsperpage = 30;
  90. $totalrecords = 1000; // dit kan een aantal records zijn uit de database
  91. $totalpages = ceil($totalrecords/$itemsperpage);
  92. if (!IsSet($_GET['p'])) {
  93. $currentpage = 1;
  94. } else {
  95. $currentpage = ceil($_GET['p']);
  96. }
  97. if ($currentpage < 1 || $currentpage > ceil($totalpages)) {
  98. $output = 'Helaas, deze pagina bestaat niet.';
  99. } else {
  100. $output = navigatie($currentpage,$totalpages,'?p=');
  101. $output .= '<br /><br />Pagina: ' . $currentpage;
  102. }
  103. ?>

13 antwoorden

Gesponsorde links
Offline avdg - 19/07/2009 18:21 (laatste wijziging 19/07/2009 19:06)
Avatar van avdg PHP gevorderde 1) Laat liefst die vraag of er iemand jou wilt helpen weg, er zijn genoeg leden die deze topic wel kunnen vinden

2) Heb je zelf al code geschreven, zo ja, voeg deze code toe
Ook leuk is het als ik de link had van de script hierboven
edit: http://www.site...et_functie

3) De SQL-queries worden niet in deze functie afgehandeld, in deze functie wordt er alleen de verschillende (genummerde) paginas weergegeven
Offline farida - 19/07/2009 20:08
Avatar van farida Nieuw lid Dank je wel voor je reactie.

script van Wijnand is: http://www.site...PNavigatie

mijn script waar ik het in wil gebruiken is:
Kun je me misschien uitleggen hoe ik dit kan doen?

  1. <?php
  2. if (!isset($_GET['bekijk'])){
  3. $sitepad= "gebruikers/";
  4. $sSql="SELECT * FROM DB ORDER BY DB_datum DESC";
  5. $id=mysql_query($sSql) or die ("error in sql query");
  6.  
  7. if (mysql_num_rows($id)==0)
  8.  
  9. else{
  10. $iMax = 2;
  11. /* Initieer de teller */
  12. $iCount = 0;
  13. echo "<table>";
  14.  
  15. for ($i=0;$i<mysql_num_rows($id);$i++){
  16.  
  17. $dbinfo=mysql_fetch_array($id);
  18. {
  19. if ($dbinfo['display']=='ja')
  20. {
  21. if($iCount == 0)
  22. {
  23. echo "<tr>";
  24. }
  25.  
  26.  
  27. echo "<td height=30 weight=30>";
  28. $sql="SELECT * FROM afbeeldingen WHERE DB_id='".$dbinfo['DB_id']."' LIMIT 1";
  29. $afbeeldingen=mysql_query($sql);
  30. if (mysql_num_rows($afbeeldingen)>0){
  31. while ($afb_rij = mysql_fetch_array($afbeeldingen)){
  32. $bestandsnaam=$sitepad.$afb_rij['DB_id'].$afb_rij['DB_type'];
  33. echo "<img src=\"$bestandsnaam\">$nbsp";
  34. }
  35. }
  36.  
  37. else{
  38. echo "geen afbeeldingen voor dit artikel";
  39.  
  40. }
  41. echo "</td>";
  42. echo "<td>&nbsp;</td>";
  43.  
  44. echo "<td><a href=\"".$_SERVER["PHP_SELF"]."?bekijk=".$dbinfo['DB_id']."\">".
  45. $dbinfo['advertentie_titel']."</a></td>";
  46.  
  47. echo " <td class='center'>&euro; ".number_format($dbinfo['DB_prijs'], 2, ',', '.')."</td>";
  48.  
  49. echo "<td>&nbsp;</td>";
  50. echo "<td>&nbsp;</td>";
  51.  
  52.  
  53. }
  54.  
  55. if($iCount == ($iMax - 1)){
  56. echo "</tr>";
  57. $iCount = -1; }
  58. /* Verhoog de teller met 1. Wanneer het op -1 stond, wordt het 0. Dan wordt er dus weer een nieuwe rij aangemaakt! */
  59. $iCount++;
  60. }
  61. }
  62. /* Wanneer de laatste rij nog niet helemaal vol is, vullen we deze uit en sluiten we hem af */
  63. if($iCount != 0){
  64. /* Maak de benodigde cellen aan met lege inhoud */
  65. for(; $iCount < $iMax; $iCount++){
  66. echo "<td>&nbsp;</td>"; }
  67. /* Sluit de rij af */
  68.  
  69. echo "</tr>";
  70.  
  71.  
  72.  
  73. }
  74.  
  75. echo "<tr><td colspan=4>";
  76.  
  77.  
  78. echo "</tr></td>";
  79. echo "</table>";
  80. }
  81. }
  82.  
  83. ?>


Offline avdg - 19/07/2009 20:25
Avatar van avdg PHP gevorderde Je code zou veel netter zijn moest je bij elke blok wat inspringt (bv. met 4 spaties) en kijk eens regel 7 na (wat gebeurd er na de if?)

Ik analyseer de code nog eens rap
Offline farida - 19/07/2009 20:28
Avatar van farida Nieuw lid na de if komt het volgende:
  1. if (mysql_num_rows($id)==0)
  2. {
  3.  
  4. //echo "<script language='javascript'>location.href='index.php';</script>";
  5. }


Offline avdg - 19/07/2009 20:46 (laatste wijziging 19/07/2009 21:58)
Avatar van avdg PHP gevorderde Ik heb wat getracht je code wat op te kuisen (amper veranderd)
Er blijven wat haakjes over wat ik niet snap :/
  1. <?php
  2. if (!isset($_GET['bekijk'])){
  3. $sitepad = 'gebruikers/';
  4. $sSql = 'SELECT * FROM DB ORDER BY DB_datum DESC';
  5. $id = mysql_query($sSql) or die ('error in sql query');
  6.  
  7. if (mysql_num_rows($id)==0) {
  8. //echo "<script language='javascript'>location.href='index.php';</script>";
  9. } else {
  10. $iMax = 2;
  11. /* Initieer de teller */
  12. $iCount = 0;
  13. echo '<table>';
  14.  
  15. $db_rows = mysql_num_rows($id);
  16. for ($i=0; $i < $db_rows; $i++) {
  17. $dbinfo = mysql_fetch_array($id);
  18. }
  19.  
  20. if ($dbinfo['display'] == 'ja') {
  21. if($iCount == 0) {
  22. echo '<tr>';
  23. }
  24.  
  25. echo '<td height=30 weight=30>';
  26. $sql = "SELECT * FROM afbeeldingen WHERE DB_id='".$dbinfo['DB_id']."' LIMIT 1";
  27. $afbeeldingen = mysql_query($sql);
  28.  
  29. if (mysql_num_rows($afbeeldingen) > 0) {
  30. while ($afb_rij = mysql_fetch_array($afbeeldingen)) {
  31. $bestandsnaam = $sitepad.$afb_rij['DB_id'] . $afb_rij['DB_type'];
  32. echo "<img src=\"$bestandsnaam\">&nbsp";
  33. }
  34. } else {
  35. echo 'geen afbeeldingen voor dit artikel';
  36. }
  37.  
  38. echo '</td>';
  39. echo '<td>&nbsp;</td>';
  40.  
  41. echo '<td><a href="' . $_SERVER['PHP_SELF'] . '?bekijk=' . $dbinfo['DB_id'].'">'.
  42. $dbinfo['advertentie_titel'].'</a></td>';
  43.  
  44. echo ' <td class="center">&euro; '. number_format($dbinfo['DB_prijs'], 2, ',', '.') . '</td>';
  45.  
  46. echo '<td>&nbsp;</td>';
  47. echo '<td>&nbsp;</td>';
  48. }
  49.  
  50. if ($iCount == ($iMax - 1)) {
  51. echo '</tr>';
  52. $iCount = -1;
  53. }
  54.  
  55. /* Verhoog de teller met 1. Wanneer het op -1 stond, wordt het 0. Dan wordt er dus weer een nieuwe rij aangemaakt! */
  56. $iCount++;
  57. }
  58. }
  59.  
  60. /* Wanneer de laatste rij nog niet helemaal vol is, vullen we deze uit en sluiten we hem af */
  61. if ($iCount != 0) {
  62. /* Maak de benodigde cellen aan met lege inhoud */
  63. for(; $iCount < $iMax; $iCount++) {
  64. echo '<td>&nbsp;</td>';
  65. }
  66.  
  67. /* Sluit de rij af */
  68. echo '</tr>';
  69. }
  70.  
  71. echo '<tr><td colspan=4>';
  72. echo '</tr></td>';
  73. echo '</table>';
  74. ?>


Edit: iets overzien 
Offline farida - 19/07/2009 21:01 (laatste wijziging 19/07/2009 21:05)
Avatar van farida Nieuw lid die haakjes zijn daar terecht gekomen, door te veel proberen. vandaar.

Wat is er dan precies gewijzigd? Hoe maak je de koppeling met het script van Wijnand?
Offline avdg - 19/07/2009 21:11 (laatste wijziging 19/07/2009 21:57)
Avatar van avdg PHP gevorderde steek je functie in een apart bestand, en vervang bestand.php naar het gewenst bestand
  1. include('bestand.php');
  2. navigatie($currentPage, $totalPages, $url);


ik zou eigenlijk graag weten wat de code moet doen
Offline farida - 19/07/2009 22:12 (laatste wijziging 19/07/2009 22:23)
Avatar van farida Nieuw lid de code moet gegevens uit de database laten zien. en hiervoor heb ik paginanummering nodig.

als ik doe wat je zegt, dan krijg ik de volgende foutmeldingen:
Notice: Undefined variable: currentPage C:\......
Notice: Undefined variable: totalPages in C:\.......
Notice: Undefined variable: url in C:\.......

wat betekent dit?

gr
Offline avdg - 19/07/2009 22:28 (laatste wijziging 19/07/2009 22:30)
Avatar van avdg PHP gevorderde code?
en heb je die parameters (gegevens die meegegeven worden tijdens het aanroepen van een functie) vervangen door je eigen variabelen?
Offline Martijn - 19/07/2009 22:28
Avatar van Martijn Crew PHP dat betekent dat je $var geen waarde heeft. Hoeft niet persé slecht te zijn
Offline vinTage - 19/07/2009 22:30
Avatar van vinTage Nieuw lid je include is gewoon niet goed
Offline farida - 19/07/2009 22:36
Avatar van farida Nieuw lid ik heb ze niet vervangen door mijn eigen variabelen. door welke varibelen moet ik ze vervangen?
Offline avdg - 19/07/2009 23:00
Avatar van avdg PHP gevorderde navigatie($sitepad, {totaalrijen}, {positie});

als $sitepad daarvoor dient 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.232s