WiZzLeRMedlem sedan juni 2002346 inlägg Jag har två tabeller: topics och posts. Båda tabellerna har någon form av time kolumn; topics_time och posts_time.
Posts är bunden till topics genom topic_id kolumn i posts. Genom den selectar jag alla posts bundna till topics.
Jag vill selecta alla topics som är sorterad efter tid med senaste först.
Det är ett forum jag bygger om du inte har förstått det än. ;)
liten sammanfattning: jag vill sortera mina trådar där tråden med senaste inläggen sorteras först.
LarsGMedlem sedan dec. 200012 464 inlägg select <kolumnerFromTopic),
coalesce((select max(posts_time)
from posts
where topic_id = topics.topic_id),topics_time) pt
from topics
order by pt desc
WiZzLeRMedlem sedan juni 2002346 inlägg vad gör man om man vill ha sticky, announcement etc.. ? Om jag t.ex lägger till en column som heter topic_sticky med default int 0. Om en topic har en 1:a så ska den hamna längst uppe. Om jag gör "Order by pt, topic_sticky" så ordras alla efter sticky. =/
LarsGMedlem sedan dec. 200012 464 inlägg Order by topic_sticky desc,pt
WiZzLeRMedlem sedan juni 2002346 inlägg Men of course. ORDER BY topic_sticky DESC, pt DESC =)
WiZzLeRMedlem sedan juni 2002346 inlägg Hmm nu har jag försökt jobbar på den metoden du skickade mig först men jag får inte det till.
För nuvarande har jag "SELECT forum_id, forum_name, forum_desc, forum_topics, forum_posts, forum_order
FROM fuzz_forums
WHERE cat_id = '" . $catID . "'
ORDER BY forum_order DESC"
där $catID är ett id till en tabell med categorier. Vad jag får ut är alltså:
Cat 1
- Forum 1
- Forum 2
- Forum 3
Cat 2
- Forum 4
- Forum 5
etc..
Nu vill jag samla ihop alla post_time och topic_time som tillhör det forum_id'et och sedan jämnföra med senaste inloggning om det finns nya posts sedan senaste besöket.
Jag vill alltså plocka ut senaste post tiden från posts och topics som är länkade till fuzz_forums genom forum_id.