alle rijen uit de db, behalve de laatste 10

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Herbert Foppen

Herbert Foppen

28/04/2009 22:58:00
Quote Anchor link
Hallo allemaal,

ik zit met (volgens mij) iets heel simpels, maar het lukt me maar niet.
Op de pagina 'onlangs.php' worden de 10 laatst toegevoegde producten getoond.

[SQL]
$sql="SELECT * FROM producten ORDER BY id DESC LIMIT 0,10;";
[/SQL]

Nu heb ik ook een 'fotogalerij.php' waarbij alle overige producten getoond moeten worden. Kortom: alle rijen, minus die 10 meest recente.

Ik kom er niet uit :S:S:S:S

Zoiets zat ik al te prutsen:
[SQL]
SELECT * FROM producten ORDER BY id DESC WHERE id NOT IN
(SELECT * FROM producten ORDER BY id DESC LIMIT 0,10)
[/SQL]
Gewijzigd op 01/01/1970 01:00:00 door Herbert Foppen
 
PHP hulp

PHP hulp

20/04/2024 00:51:07
 
Luc de Wit

Luc de Wit

29/04/2009 02:16:00
Quote Anchor link
Ik zou zeggen dat het
SELECT * FROM producten ORDER BY id DESC LIMIT 10,99999999
zou moeten zijn. Zal vast iets zij dat op de plaats van 99999999 kan worden ingevuld worden waardoor het oneindig word, wat weet ik niet.
Gewijzigd op 01/01/1970 01:00:00 door Luc de Wit
 
Toby hinloopen

toby hinloopen

29/04/2009 02:47:00
Quote Anchor link
LIMIT 10,*
zou dat werken? :P
 
Thijs Damen

Thijs Damen

29/04/2009 03:30:00
Quote Anchor link
@toby. Volgens mij geeft dat een error ;)?

Waarschijnlijk is dit je oplossing
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$sql = mysql_query("SELECT JE_PRIMARY_KEY_VELD FROM producten");
$total = mysql_num_rows($sql);
$sql = mysql_query("SELECT * FROM producten ORDER BY id DESC LIMIT 10,{$total}");


Wat het doet. de zachts mogelijke query (je PK veld zal waarschijnlijk bestaan uit intjes) uitvoeren en daarmee de totaal aantal rijen telen. daarna limit je gewoon en begin je bij 10 (de eerste 10, die van onglangs zullen dus genegeerd worden)

Het kan misschien beter met SQL_COUNT_FOUND_ROWS en FOUND_ROWS()

maar daar ben ik niet bekend mee :)
 
Willem Jan Z

Willem Jan Z

29/04/2009 07:14:00
Quote Anchor link
Je eigen poging was al wel goed denk ik. Alleen je selecteerd * (wat sowieso eigenlijk nooit goed is)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
SELECT id, title, andere, veld
FROM producten
WHERE id NOT IN
    (SELECT id FROM producten ORDER BY id DESC LIMIT 0,10)
ORDER BY id DESC
 
Jurgen assaasas

Jurgen assaasas

29/04/2009 09:23:00
Quote Anchor link
De meest recente wordt aangegeven door een datum en niet door een ID. Id 2 kan in principe later komen als id 5 (dit geeft enkel een unieke waarde dus). Werk dus met datum/tijdstempels.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.