Skulle ordna det med visning av de senaste trådarna i ett forum. Nu duger mina SQL-kunskaper som vanligt inte riktigt till.
Skall alltså plocka ut de senaste X trådarna ur en tabell som ser ut såhär:
CREATE TABLE phpbb_topics (
topic_id mediumint(8) unsigned NOT NULL auto_increment,
forum_id smallint(8) unsigned NOT NULL default '0',
topic_title char(60) NOT NULL default '',
topic_poster mediumint(8) NOT NULL default '0',
topic_time int(11) NOT NULL default '0',
topic_views mediumint(8) unsigned NOT NULL default '0',
topic_replies mediumint(8) unsigned NOT NULL default '0',
topic_status tinyint(3) NOT NULL default '0',
topic_vote tinyint(1) NOT NULL default '0',
topic_type tinyint(3) NOT NULL default '0',
topic_last_post_id mediumint(8) unsigned NOT NULL default '0',
topic_moved_id mediumint(8) unsigned NOT NULL default '0',
topic_first_post_id mediumint(8) unsigned NOT NULL default '0',
PRIMARY KEY (topic_id),
KEY forum_id (forum_id),
KEY topic_moved_id (topic_moved_id),
KEY topic_status (topic_status),
KEY topic_first_post_id (topic_first_post_id)
) TYPE=MyISAM;
Visst, enkelt. Men när man flyttar en tråd så skapas en till post i tabellen. Då listas alltså samma tråd två gånger vilket inte riktigt är meningen. Då finns fältet topic_status. Det är satt till två på den tråden som skall visas (den som skapades när man flyttade) och 0 på den ursprungliga tråden som inte skall listas.
Så om två trådar har exakt samma timestamp (topic_time) skall den post som har topic_status=2 väljas och den med topic_status=0 skall inte tas upp i resultatet.
Någon som kan hjälpa till här?