login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Code op juiste plaats.

Offline quis - 31/01/2009 15:06
Avatar van quisNieuw lid Hallo,
Ik heb een mooi gastenboekje gevonden, het probleem enkel is dat de pagina ellenlang zou worden, dus moesten verschillende pagina's worden aangemaakt. Ik heb dus alles in code (hulp van iemand), maar krijg het niet op de juiste plaats:
  1. <?php
  2. mysql_connect("server","inlognaam","wachtwoord");
  3. mysql_select_db("databasenaam");
  4.  
  5. if(isset($_POST['door']) and isset($_POST['bericht']) and $_POST['door']!='Typ hier uw naam' and $_POST['bericht']!='Typ hier uw bericht!' ) {
  6. $bericht = $_POST['bericht'];
  7. $door = $_POST['door'];
  8. $datum = date("d-m-Y H:i:s", time());
  9.  
  10. $bericht = str_replace("\n", "<br>", $bericht);
  11.  
  12. $query = "INSERT INTO gastenboek(bericht, door , datum) VALUES ('".$bericht."', '".$door."', '".$datum."')";
  13. $sql=mysql_query($query) or die (mysql_error());
  14. }
  15.  
  16. $query = "SELECT * FROM gastenboek ORDER BY id DESC";
  17. $sql=mysql_query($query) or die (mysql_error());
  18.  
  19. while ($obj=mysql_fetch_object($sql)) {
  20. $door = $obj->door;
  21. $datum = $obj->datum;
  22. $bericht = $obj->bericht;
  23. ?>
  24.  
  25. <br><table width="90%" border="0" cellspacing="0" cellpadding="3" align="center">
  26. <tr>
  27. <td >
  28. <strong>Geschreven door <?php echo $door; ?></strong>
  29. | <?php echo $datum ?>
  30. </td>
  31. </tr>
  32. <tr>
  33. <td >
  34. <?php echo $bericht; ?>
  35. </td>
  36. </tr>
  37. </table>
  38.  
  39. <?php }
  40. ?>
  41. <form action="<?php print $_SERVER['PHP_SELF'] ?>" method="post" >
  42. <br><table width="90%" border="0" cellspacing="0" cellpadding="3" align="center">
  43. <tr>
  44. <td>
  45. <strong>Geschreven door <input value="Typ hier uw naam" type="text" name="door"></strong>
  46. | <?php echo date("d-m-Y H:i:s", time()); ?>
  47. </td>
  48. </tr>
  49. <tr>
  50. <td>
  51. <textarea name="bericht" rows="8" cols="50">Typ hier uw bericht!</textarea><br>
  52. <input type="submit" value="Bericht plaatsen!">
  53. </td>
  54. </tr>
  55. </table>
  56. </form>

dit is het oorspronkelijk,
en het volgend heb ik nodig om mijn pagina's te tonen:
  1. $us = mysql_query("SELECT id FROM `naamtabel`"); if(mysql_num_rows($us) <= 20) print "</table>&laquo; 1 &raquo;\n"; else { if($begin/20 == 0) print "&laquo; "; else print "<a href=?p=". ($begin/20-1) .">&laquo;</a> "; for($i=0; $i<mysql_num_rows($us)/20; $i++) { print "<a href=?p=$i>". ($i+1) ."</a> "; } if($begin+20 >= mysql_num_rows($us)) print "&raquo;"; else print "<a href=?p=". ($begin/20+1) .">&raquo;</a>"; } print "</table>";

bovenaan zou dit ergens moeten komen:
  1. $begin= ($_GET['p'] >= 0) ? $_GET['p']*20 : 0;

en het loopje dat de results output, moet vervangen worden door dit:
  1. for($j=$begin+1; $usr = mysql_fetch_object($us); $j++) {

en achter mijn msql query voor de loop moet dit nog komen:
  1. LIMIT $begin,20

Ik krijg de puzzelstukje niet aan elkaar, gewoonweg omdat ik niets van php ken.

2 antwoorden

Gesponsorde links
Offline Tuinstoel - 31/01/2009 15:59
Avatar van Tuinstoel PHP expert Je moet het wat anders aanpakken. Eerst het aantal totale records tellen in de database, en dan 1 pagina aanvragen.

$totaal = query om te kijken hoeveel er in zitten
dan $query = "SELECT * FROM gastenboek ORDER BY id DESC LIMIT ".$begin.", ".$limiet;
Met $begin aan de hand van pagina nummering*perpagina, en de limiet ($perpagina dus).
Offline quis - 31/01/2009 18:03 (laatste wijziging 31/01/2009 18:04)
Avatar van quis Nieuw lid tuinstoel,
eerst en vooral bedankt voor je reactie.
Ik kan best wel begrijpen wat je schrijft, maar omdat ik de taal niet machtig ben, weet ik niet wat ik er moet mee aanvangen.
Het zou leuk zijn indien je zou kunnen zeggen wat nu waar moet. Wil je die moeite niet doen, dan heb ik daar alle begrip voor.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.197s