Forum » Server-Side scripting » Query geeft 10, 20 of 13 results..
Rapifia Europe
Berichten: 3719
avatar
Offline Stuur privebericht
Beste,

Ik heb een probleempje in onderstaand script.
Dit script maakt een pagina nummering voor de "Han gaar" optie in Planemania.nl.
Zodat je dus niet duizenden results op 1 pagina krijgt.
Een voorbeeld is hier:
http://planemania.nl/nl1/hangar.php

Het probleem is, op pagina 1 worden keurig 10 results weergegeven, maar op pagina 2 en 3 worden er 20 weergegeven, en op pagina 4 13.
Op pagina 5 echter wel de overige.

Ik heb het script al na gekeken, en volgens mij ligt het aan dit stukje:
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//Hier word het aantal resultaten getelt.
 
$data2 mysql_query("SELECT id, verhuurder, eigenaar, prijs, UNIX_TIMESTAMP(sinds) AS sinds2 FROM hangars WHERE prijs != '0' AND eigenaar = '' ORDER BY ".$sort." ".$deas) or die(mysql_error()); 
 
$rows mysql_num_rows($data2); 
 
 
//Zoveel results per pagina.
 
$page_rows 10
 
 
//Dit is de laatste pagina
 
$last ceil($rows/$page_rows); 
 
 
//Even checken of de pagina niet onder de 1 komt, of groter word dan het maximum.
 
if($pagenum 1){ 
 
$pagenum 1
 } elseif(
$pagenum $last){ 
 
$pagenum $last
 } 
 
 
//Even het maximale aantal instellen
 
$max 'LIMIT '.($pagenum 1)*$page_rows.','.$page_rows*$pagenum

 
//Dit is dezelfde query, alleen dan met $max erin.
 
$data_p mysql_query("SELECT id, verhuurder, eigenaar, prijs, UNIX_TIMESTAMP(sinds) AS sinds2 FROM hangars WHERE prijs != '0' AND eigenaar = '' ORDER BY ".$sort." ".$deas." ".$max) or die(mysql_error()); 
 
//Hieronder komt de hele verwerking.
 
?>


Ik begrijp alleen zelf niet wat er verkeerd aan is..

Ik hoop dat iemand het wel ziet,

Lars
Laatst gewijzigd door larsisgoed9 op 2010-07-15 10:15:00
15-07-2010 10:14
Dit topic is 106 keer bekeken door 27 verschillende leden
Reacties op: "Query geeft 10, 20 of 13 results.."
1
Berichten: 470
avatar
Offline Stuur privébericht
Voorbeeld van een limit,
Code | Selecteer Alles
minimaliseren
1
SELECT FROM `tabelLIMIT 010

Dat laat de eerste 10 resultaten zien.

Code | Selecteer Alles
minimaliseren
1
SELECT FROM `tabelLIMIT 1010

Dat laat resultaat zien beginnend bij 10 en dus tot 20.

Denk dus dat regel 19 van je script veranderd moet worden in:
Code | Selecteer Alles
minimaliseren
1
$max 'LIMIT '.($pagenum 1)*$page_rows.',10';


Zodat het er altijd (Indien aanwezig) 10 resultaten worden gegeven.
15-07-2010 10:58
Rapifia Europe
Berichten: 3719
avatar
Offline Stuur privébericht
Heel erg bedankt Pekelterror, nu werkt het weer

Lars
15-07-2010 12:05
Reageer op: "Query geeft 10, 20 of 13 results.."
1
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden