Toon posts:

[sql] topics goed orderen.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zit nog steeds met een 'probleem'.

Ik wil als volgt topics weergeven
1. sticky topics, oudste eerst
2. normale topics! :)
3. closed topics (max zoveel dagen?)

nu heb ik deze query!
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT
galleryforumtopic.id,
galleryforumtopic.user_id,
galleryforumtopic.subject,
galleryforumtopic.lastpost,
galleryforumtopic.topped,
galleryforumtopic.closed,
gallerymember.username,
COUNT(galleryforumpost.id) AS postcount
FROM galleryforumtopic
LEFT JOIN gallerymember ON galleryforumtopic.user_id = gallerymember.id
LEFT JOIN galleryforumpost ON galleryforumtopic.id = galleryforumpost.topic_id
WHERE galleryforumtopic.forum_id = '" . $forum_id . "'
GROUP BY galleryforumtopic.topped DESC, galleryforumtopic.lastpost DESC, galleryforumtopic.closed DESC
LIMIT $from, " . TOPICS_PER_PAGE

--> [url="http://galleries.vinyamar.com/listtopics.php?forum=1"]voorbeeld[/url]

maar nu krijg ik opeens eerst een 'normale' post en dan een 'sticky' topic.. ik snap echt niet waar het in de 'sql' query fout gaat :{

b.t.w heeft iemand een idee hoe ik dat het beste kan doen met 'slotje' topics? zoals bv op got ('k heb geen idee hoe ze dat doen... (berekenen))..

  • Compubiter
  • Registratie: Oktober 2001
  • Laatst online: 21-08-2023

Compubiter

Think again

Even iets totaal off-topics, maar iets wat wel belangrijk is:
[url="http://gathering.tweakers.net/forum/faq&id=3#31"]Cool die smilies, ik wil ze ook gebruiken![/url]

Verder heb ik eigenlijk geen verstand van SQL, sowwy :+
Volgens mij hebben ze het hier op GoT opgelost door Faq's en Sticky's een datum ver in de toekomst te geven, maar dat weet ik niet zeker.

Verwijderd

Topicstarter
Op zondag 21 juli 2002 20:34 schreef Compubiter het volgende:
Even iets totaal off-topics, maar iets wat wel belangrijk is:
[url="http://gathering.tweakers.net/forum/faq&id=3#31"]Cool die smilies, ik wil ze ook gebruiken![/url]

Verder heb ik eigenlijk geen verstand van SQL, sowwy :+
Volgens mij hebben ze het hier op GoT opgelost door Faq's en Sticky's een datum ver in de toekomst te geven, maar dat weet ik niet zeker.
hmmz idd, ik zal ze binnenkort verwijderen of aanvragen :)..

[edit]
aangevraagd....

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Volgens mij haal je GROUP BY en ORDER BY foor elkaar ;) ...

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


Verwijderd

Topicstarter
Op zondag 21 juli 2002 20:40 schreef Janoz het volgende:
Volgens mij haal je GROUP BY en ORDER BY foor elkaar ;) ...
Dat zou idd kunnen, het probleem is alleen dat ik voor die count een group by nodig ben :)

Verwijderd

de meeste fora ondervangen dit probleem door een extra veld bij de topics te maken met daarin het aantal postings in een topic. Je krijgt hierdoor wel wat dubbele data, maar het werkt makkelijker en is sneller.

Verwijderd

Op zondag 21 juli 2002 20:45 schreef RobinVR het volgende:
de meeste fora ondervangen dit probleem door een extra veld bij de topics te maken met daarin het aantal postings in een topic. Je krijgt hierdoor wel wat dubbele data, maar het werkt makkelijker en is sneller.
Alleen de inserts worden er trager op :)

Verwijderd

Op zondag 21 juli 2002 20:47 schreef DiEana het volgende:

[..]

Alleen de inserts worden er trager op :)
True, maar op een forum heb je waarschijnlijk meer SELECT's dan INSERT's ;)

  • creative8500
  • Registratie: September 2001
  • Laatst online: 03-01 16:54

creative8500

freedom.

offtopic:
RobinVR: hoezo nog maar 80 punten?

xtentic: ik ga ff die query doornemen, zo leer ik er nog wat van :D

edit:
Is dit MySQL of anders?

Verwijderd

Topicstarter
dit is MySQL en ik kom er nog steeds niet uit, heb meerdere dingen geprobeerd oa order by maar natuurlijk werkte dat nie :{

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Postcount zal je anders moeten oplossen (vooral omdat je geen subqueries kan gebruiken in MySQL), Dan kan je met een "order by" je oplossing vinden.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Topicstarter
Op zondag 21 juli 2002 21:44 schreef dusty het volgende:
Postcount zal je anders moeten oplossen (vooral omdat je geen subqueries kan gebruiken in MySQL), Dan kan je met een "order by" je oplossing vinden.
dus eingelijk wil dat zeggen dat me query iets te complex is voor MySQL en dat die dat (nog) niet aan kan?... jammer :{

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

het KAN wel, maar het is niet aan te bevelen, er is een veel makkelijkere manier voor je post count, waardoor je query stukken sneller zal zijn.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Topicstarter
Op maandag 22 juli 2002 10:55 schreef dusty het volgende:
het KAN wel, maar het is niet aan te bevelen, er is een veel makkelijkere manier voor je post count, waardoor je query stukken sneller zal zijn.
zou je dat mischien kunnen vertellen hoe het dan wel kan?. of bedoel je gewoon.

eerst een 'count' en daarna de andere query? :D

Please enlighten me B-)

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op maandag 22 juli 2002 17:11 schreef xtentic het volgende:
zou je dat mischien kunnen vertellen hoe het dan wel kan?. of bedoel je gewoon.

eerst een 'count' en daarna de andere query? :D

Please enlighten me B-)
In een van je vele andere topics had ik je daar al een tip over gegeven...

Verwijderd

Topicstarter
Op maandag 22 juli 2002 17:18 schreef ACM het volgende:

[..]

In een van je vele andere topics had ik je daar al een tip over gegeven...
je sticky als een int
en deleted als een int

dan orderen op sticky, normal, deleted :)

die heb ik aangemaakt.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op maandag 22 juli 2002 17:33 schreef xtentic het volgende:
je sticky als een int
en deleted als een int

dan orderen op sticky, normal, deleted :)

die heb ik aangemaakt.
Ik had het over de oplossing mbt counts ;)

Verwijderd

Topicstarter
Op maandag 22 juli 2002 17:34 schreef ACM het volgende:

[..]

Ik had het over de oplossing mbt counts ;)
:D grin, ja saven in de db... Maar je gaf ook aan dat dat beter is voor hele grote databeestjes.

Verwijderd

Op maandag 22 juli 2002 17:33 schreef xtentic het volgende:

[..]

je sticky als een int
en deleted als een int

dan orderen op sticky, normal, deleted :)

die heb ik aangemaakt.
offtopic: neem toch een enum joh!
Pagina: 1