[PHP/SQL] Ordening en selectie

Pagina: 1
Acties:
  • 76 views sinds 30-01-2008

  • Kvn
  • Registratie: Maart 2001
  • Laatst online: 27-05 13:16
Hoi! Ik heb een Fotoalbum "gescript", en ik wil deze in 5 foto's per pagina verdelen.

Op deze manier dus:
view1.php > link naar > view2.php > link naar view3.php, etc.
Nu wou ik dat doen met

code:
1
2
3
4
5
6
<?php
include("*.php");
$query = "SELECT id, url FROM foto LIMIT 0, 5 ";

// hier de rest van mn script
?>


voor de 1e 5 fotos

code:
1
2
3
4
5
6
<?php
include("inst.php");
$query = "SELECT id, url FROM foto LIMIT 6, 10 ";

// hier de rest van mn script
?>


voor de 2e 5 fotos, etc.

Maar.. dit werkt natuurlijk niet :(
Ik heb wat SQL tutorials gelezen enzo, en voor de 1e 5 fotos lukte het, met het 1e stukje script. Het 2e werkt niet..

Help, wat doe ik fout! }:O

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:08

gorgi_19

Kruimeltjes zijn weer op :9

Techniek heet Paging, wat jij wilt. Als je SQL Server gebruikt: zie oa. http://www.4guysfromrolla.com/webtech/062899-1.shtml

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Kvn
  • Registratie: Maart 2001
  • Laatst online: 27-05 13:16
OK, maar dit voor ASP, en zoals je ziet, gebruik ik PHP (zie topictitel)

  • henkleerssen
  • Registratie: December 2000
  • Niet online

henkleerssen

Your life is as you narrate it

kan dat niet gewoon met where statement zoals WHERE ID=6 OR WHERE ID=10 ipv limit?

Verwijderd

Probeer die tweede eens met LIMIT 5, 5

[Edit] Janoz heeft gelijk, ik had zelf niet helemaal goed opgelet...

[ Voor 50% gewijzigd door Verwijderd op 29-11-2003 21:17 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:08

gorgi_19

Kruimeltjes zijn weer op :9

Slayerized schreef op 29 november 2003 @ 21:12:
OK, maar dit voor ASP, en zoals je ziet, gebruik ik PHP (zie topictitel)
ASP, PHP, Java.. Gaat om de techniek er achter. :)
henkleerssen schreef op 29 november 2003 @ 21:13:
kan dat niet gewoon met where statement zoals WHERE ID=6 OR WHERE ID=10 ipv limit?
Kom je dan niet in de problemen als ID niet opeenvolgend is? En meestal wil je de nieuwste foto's vooraan hebben; deze hebben alleen het hoogste id.

[ Voor 45% gewijzigd door gorgi_19 op 29-11-2003 21:16 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 15:26

Janoz

Moderator Devschuur®

!litemod

Het tweede argumetn bij limit is niet de 'eindpositie', maar het aantal. Om foto 6 t/m 10 te krijgen zul je limit 5,5 moeten gebruiken. De eerste 5 is omdat je vanaf foto 5 wilt (limit begint bij 0 te tellen ;) ) en de tweede vijf is omdat je slechts 5 foto's terug wilt hebben.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Kvn
  • Registratie: Maart 2001
  • Laatst online: 27-05 13:16
Weet iemand dan toevallig ook, hoe ik ervoor kan zorgen, dat mysql altijd de nieuwe foto id 1 geeft, en de anderen automatisch ophoogt qua id?

2=3
3=4
4=5
etc?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:08

gorgi_19

Kruimeltjes zijn weer op :9

Voeg een datumveld toe, en sorteer aflopend op datum. Geef vervolgens het datumveld ook nog als default datum de huidige datum en tijd; dan heb je ook geen enkel probleem met je query's c.q. huidige SQL.

[ Voor 59% gewijzigd door gorgi_19 op 29-11-2003 21:48 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Kvn
  • Registratie: Maart 2001
  • Laatst online: 27-05 13:16
DESC LIMIT 0,5 oid dus? Is het wel verstandig ook de tijd in te voegen right ;)

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:08

gorgi_19

Kruimeltjes zijn weer op :9

Slayerized schreef op 29 november 2003 @ 22:02:
DESC LIMIT 0,5 oid dus? Is het wel verstandig ook de tijd in te voegen right ;)
details.. :+

Maar je snapt iig het idee. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Kvn
  • Registratie: Maart 2001
  • Laatst online: 27-05 13:16
Jawel, ik snapte alleen het LIMIT gedeelte niet zo.. Stel, ik neem voor de fotos de datum in het formaat jjjj/mm/dd uu/m/s;
Jaren,maanden,dagen, uren, minuten en seconden, gaat mijn server het dan erg zwaar krijgen met de querys, bij maximaal 200 fotos.
En moet ik dan datum als primary id instellen?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:08

gorgi_19

Kruimeltjes zijn weer op :9

Slayerized schreef op 29 november 2003 @ 22:09:
Jawel, ik snapte alleen het LIMIT gedeelte niet zo.. Stel, ik neem voor de fotos de datum in het formaat jjjj/mm/dd uu/m/s;
Jaren,maanden,dagen, uren, minuten en seconden, gaat mijn server het dan erg zwaar krijgen met de querys, bij maximaal 200 fotos.
En moet ik dan datum als primary id instellen?
MySQL heeft toch standaard een datumveld? Daarop leg je een index, zodat deze sneller met sorteren gaat. Dit is niet hetzelfde als een primary key er van maken.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 19:36
Ik moet bekennen dat ik meestal ook de gegarandeerd oplopende waarden van de id's gewoon ge/misbruik om de volgorde mee vast te stellen. Als je je foto's op id sorteert, heb je ze automatisch ook gesorteerd op datum van invoegen.

  • trogdor
  • Registratie: Mei 2003
  • Laatst online: 27-10-2025
Zijn wel gegarandeerd oplopend (weet je dat el zeker?) maar er kunnen iniedergeval gaten in sequences zitten.
Wat je IMO het beste kan doen is een datetime veld toevoegen met now() als default.
Voor de performance moet daar inderdaad een index op, maar ik zou dat niet de primary key maken, gewoon een extra index.

Over dat paging verhaal: de oplossing met LIMIT 5,5 zit in de sql, dus dat heeft geen biet temaken met wat je als scripttaal gebruikt.

  • Kvn
  • Registratie: Maart 2001
  • Laatst online: 27-05 13:16
Ok, nou, ik ben eruit, als je wil kan je het bewonderen op http://spammerdespamspamspamspam.nl

Spam spam ;)

modbreak: doe het dan niet? :/

[ Voor 35% gewijzigd door curry684 op 01-12-2003 03:38 ]


  • Kvn
  • Registratie: Maart 2001
  • Laatst online: 27-05 13:16
Erg flauw, ze hadden best even mogen kijken, en tis niet zo dat ik geld verdien aan die site of ook maar iets van gewin heb.

Dus post ik mijn link bij deze weer : spam

[ Voor 14% gewijzigd door whoami op 01-12-2003 15:21 ]


  • Dennahz
  • Registratie: November 2001
  • Laatst online: 22:47

Dennahz

Life feels like hell should.

Euhm :X :+

Maarre hoe heb je het opgelost dan?

Twitter


  • whoami
  • Registratie: December 2000
  • Nu online
Tja, modbreaks zijn er niet om te negeren.

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.