Hee,
Ik heb een pagina script ding, maar het werkt niet zoals het moet.
Hier de codes:
nieuws.php
En hier pagina.phpCode:<?php include_once "includes/config.php"; include_once "includes/func/pagina.php"; include_once "includes/func/ubb.php"; include_once "includes/func/verkort.php"; $Query = mysql_query("SELECT * FROM nieuws ORDER BY id DESC LIMIT ".$start.", ".$maxpp."") or die ( mysql_error() ); $sql = mysql_fetch_assoc($Query); $id = isset($_GET['id']) ? $_GET['id'] : 'xx'; if(!is_numeric($id)) { if(mysql_num_rows($Query) < 1) { echo 'Er is momenteel geen nieuws.'; } else { while($Get = mysql_fetch_assoc($Query)) { echo ' <div class="nonieuws" onmouseover="this.className=\'nieuws\'" onmouseout="this.className=\'nonieuws\'" onClick="window.location.href=\'/nieuws.php?id='.$Get['id'].'\'"> <img src="'.htmlspecialchars($Get['icon']).'" width="104" height="64" align="left"><div class="titel" valign=center><a href=\'/nieuws.php?id='.$Get['id'].'\'>'.$Get['titel'].' </a></div><div class="bericht" valign=center>'.verkort(ubb($Get['nieuws']), 180).'</div></div><br />'; } echo '<div align="center">'; echo $navigatie; echo '</div>'; } } else { $mQuery = mysql_query("SELECT * FROM nieuws WHERE ID = ".$id) or die(mysql_error()); if(mysql_num_rows($mQuery) === 0) { echo 'Dit nieuwsbericht bestaat niet (meer).'; } else { while($aGet = mysql_fetch_assoc($mQuery)) { echo '<img src="'.htmlspecialchars($aGet['icon']).'" width="104" height="64" align="left"><div class="iTitel" valign=center> '.ubb($aGet['titel']).' </div><div class="iCategorie"><i>'.ubb($aGet['datum']).' <br /> Categorie: '.ubb($aGet['categorie']).' <br /> Door: '.ubb($aGet['auteur']).'</div> <br /><br /><div class="bericht" valign=center>'.ubb($aGet['nieuws']).'</div> <br /> '; } } } ?>
Ik wil dus maar 3 berichten op 1 pagina, nu weergeeft hij er maar 2! er staan er wel 4 in de db!Code:<? include "includes/config.php"; $maxpp= "3"; // Max aantal rij'en per pagina if (!isset($_GET[page])) { $page = 1; } else { $page = $_GET[page]; } $sql = "Select * From nieuws"; $query = mysql_query($sql); $rows = mysql_num_rows($query); $num_p = ceil($rows / $maxpp); $P_page = $page - 1; $N_page = $page + 1; if ($P_page < 1 AND $N_page > $num_p) { $navigatie = "<FONT color='#CCCCCC'>«Eerste</FONT> [ $page van de $num_p ] <FONT color='#CCCCCC'>Laatste»</FONT>"; } else if ($N_page > $num_p) { $navigatie = "<a href='?page=1'>«Eerste</a> <a href='?page=".$P_page."'>[".$P_page."]</a> [ $page van de $num_p ] <FONT color='#CCCCCC'>[".$N_page."] Laatste»</FONT>"; } else if ($P_page < 1 && $N_page <= $num_p) { $navigatie = "<FONT color='#CCCCCC'>«Eerste</FONT> [ $page van de $num_p ] <a href='?page=".$N_page."'>[".$N_page."]</a> <a href='?page=".$num_p."'>Laatste»</a>"; } else { $navigatie = "<a href='?page=1'>«Eerste</a> <a href='?page=".$P_page."'>[".$P_page."]</a> [ $page of $num_p ] <a href='?page=".$N_page."'>[".$N_page."]</a> <a href='?page=".$num_p."'>Laatste»</a>"; } $start = $maxpp * $page - $maxpp; ?>
Voorbeeld:
http://test.dooh.nl
Op pagina 2 staat ook niks
Bedankt alvast!
- [PHP] Nummering
-
24-03-2007, 16:53 #1
- Berichten
- 78
- Lid sinds
- 18 Jaar
[PHP] Nummering
-
-
24-03-2007, 17:30 #2
- Berichten
- 605
- Lid sinds
- 19 Jaar
Ik denk dat het komt doordat je 2x mysql_fetch_assoc gebruikt.
Maar ik zou eerst eens gaan nadenken over de volgorde in je scripting. Je maakt eerst een query voor alle records, en dan ga je pas kijken of je een id hebt - waarvoor je een andere query draait.
if id - doe 1 - else - doe 2.
Daarnaast is je hoofdlettergebruik niet optimaal; in de ene query gebruik je ID, in de andere id.
Edit: en kijk naar je includes. In pagina.php ga je opnieuw een config.php includen; is dat dezelfde als in nieuws.php?
-
24-03-2007, 17:33 #3
- Berichten
- 78
- Lid sinds
- 18 Jaar
Ik begrijp je niet, er zijn ook 2 verschillende query's, dus daarom ook 2x mysql_fetch_assoc.
Of mag dat helemaal niet?
Edit: ja dat is dezelfde include, ik zal de include van de config uit pagina.php halen.Laatst aangepast door Sebastian M. : 24-03-2007 om 17:38
-
24-03-2007, 17:58 #4
- Berichten
- 78
- Lid sinds
- 18 Jaar
Maar dan blijft het fout gaan
Edit:
Met error_reporting(E_ALL); erboven krijg ik deze errors:
Notice: Use of undefined constant page - assumed 'page' in /storage/mijndomein/users/045034/public/sites/test.dooh.nl/includes/func/pagina.php on line 7
Notice: Use of undefined constant page - assumed 'page' in /storage/mijndomein/users/045034/public/sites/test.dooh.nl/includes/func/pagina.php on line 10
Weet iemand wat dit betekent?
Al opgelost die error, maar het werkt nog steeds niet zoals moetLaatst aangepast door Sebastian M. : 24-03-2007 om 18:44
-
25-03-2007, 13:32 #5
- Berichten
- 240
- Lid sinds
- 19 Jaar
if(!empty($_GET['id'])) {
doe dit
} else {
doe dat
}
zo filter je al de helft van de keren dat de pagina gelaadt wordt de helft van je script eruit :)
Net als Rex zegt
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic