Toon posts:

[SQL] aantal record per pagina, uit verschillende query's *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Goeiemorgen,

Ik heb een pagina waar ik selecteer met meerdere query's die onder elkaar uitgelezen worden Dus query 1 wordt eerst uitgelezen daaronder 2 enz. V

ervolgens laat ik dat dus zien maar hoe kan ik er dan voor zorgen dat er maar maximaal aantal records op 1 pagina wordt weergegeven.

Ik weet wel hoe het werkt als je 1 query gebruikt maar hoe dat je dat in het geval van meerdere, moet je dan iets van een array gebruiken en zo ja hoe precies?

Groetjes Flopkip

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Je kunt het mysql_num_rows van query 1 opslaan en die van query 2 erbij optellen :) In het geval van MySQL dan...

Verwijderd

Topicstarter
ja ik gebruik MySQL idd, maar ik heb idd ook mysql_num_rows gedaan en die waardes bij elkaar opgeteld, maar aan dat getal heb ik dan vervolgens niets, naar mijn mening dan. Ja je kan ermee laten zien hoeveel records er zijn gevonden en vervolgens het getal delen door bijv 5 (record per pagina) alleen daarmee kan ik nog nix lijkt mij.

Volgens mij moet je een of andere array aanmaken, alleen weet niet HOE!??

groet

Verwijderd

Je zal zelf moeten bepalen hoeveel info je per pagina wil. De regels per recordset hoeven niet even veel ruimte in te nemen op de rapportage (bv ander soort data, andere fontsize). Bij het vullen van een pagina moet je dus bijhouden waar je gebleven bent.

Een array of collectie zal je alleen maar helpen om makkelijker loopjes in code te maken. In MySQL kan je al je queries in 1 SQL statement proppen en met functies zoals mysql_next_result ResultSet na ResultSet verwerken.

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Je kunt ook de query's uitvoeren, maar niet echo-en. Vervolgens ga je met mysql_num_rows en wat berekeningen bepalen hoeveel en welke records je van elke query wilt laten zien en gebruik je LIMIT in elke query die je dan vervolgens wel laat zien. Beetje overdone, maar misschien lukt dan wel wat jij wilt...
offtopic:
Je hoeft niet te groeten :)

Verwijderd

Topicstarter
ik zal het iets meer proberen uit te leggen:

ik heb een aantal query's op 1 pagina staan die gebruikt worden om een trefwoord te verwerken uit een zoekmachine. Er zijn adverteerders die betalen en degene die het meest betalen moeten boven aan komen te staan en geshuffeld! Dus vandaar die meerdere query's! Het zijn er een stuk of 11 stuks, met allemaal de fuctie "ORDER BY RAND()" om het dus te shuffelen. Die wil ik dan dus uitlezen in een while functie maar dan 5 records per pagina waar de meest betalende adverteerders bovenaan komen maar nog steeds geshuffeld! ? Dit is dus een beetje de bedoeling, ik hoop dat iemand me kan helpen!

groeten

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-05 21:24

NMe

Quia Ego Sic Dico.

Als je nou eens gewoon ordert op hoeveel ze betaald hebben, descending, dan komen die bedrijven die het meest betaald hebben bovenaan. Daar neem je de bovenste 5 van, en die shuffle je in PHP:
PHP:
1
2
3
4
5
$query = mysql_query("SELECT *
  FROM adverteerders
  WHERE zoekwoorden_komen_voor
  ORDER BY bedrag DESC
  LIMIT 5");

En wat X-Lars zei: groeten hoeft niet. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1