[Résolu] Forum du site meta-morphos: classement par date
15 sujets de 1 à 15 (sur un total de 15)
-
Bonjour à tous,
Je cherche un programmeur en HTML.
Je voudrais réaliser un classement des posts dans le tableau du site par ordre du plus récent au plus ancien.
Merci beaucoup !!!
voici le script:
function MM_forumP()
{
global $NPDS_Prefix,$cookie,$user;
$maxcount = « 8 »;
$mbid = sql_fetch_row(sql_query(« SELECT uid FROM « .$NPDS_Prefix. »users WHERE uname = ‘$cookie[1]' »));
$MM_forumP .= ‘
‘
.’
‘ .’
‘.aff_langue(‘[french]Etats[/french][english]State[/english]’).’ ‘
.’
‘ .aff_langue(‘[french]Forums[/french][english]Forums[/english]’).’ ‘
.’
‘.aff_langue(‘[french]Sujets[/french][english]Topic[/english]’).’ ‘
.’
‘.aff_langue(‘[french]Réponse(s)[/french][english]Replie[/english]’).’ ‘
.’
‘.aff_langue(‘[french]Derniers Auteurs[/french][english]Last author[/english]’).’ ‘
.’
‘.aff_langue(‘[french]Dates[/french][english]Date[/english]’).’ ‘
.’
‘;
$result = sql_query(« SELECT distinct topic_id FROM « .$NPDS_Prefix. »posts WHERE forum_id > 0 ORDER BY post_id DESC LIMIT $maxcount »);
$count = sql_num_rows($result);
if ($count > 0)
if ($count > $maxcount) $count = $maxcount;
$ibid = 0;
$forum_limit = 0;
while ($forum_limit < $count) { list($topic_id) = sql_fetch_row($result); list($post_id, $forum_id, $poster_id, $time) = sql_fetch_row(sql_query(« SELECT post_id, forum_id, poster_id, post_time FROM « .$NPDS_Prefix. »posts WHERE topic_id = $topic_id ORDER BY post_id DESC LIMIT 1 »)); $forum_limit++; if ($topic_id!=0) list($topic_title) = sql_fetch_row(sql_query(« SELECT topic_title, forum_id FROM « .$NPDS_Prefix. »forumtopics WHERE topic_id=$topic_id »)); if ($forum_id!=0) list($forum_name,$forum_type,$forum_pass) = sql_fetch_row(sql_query(« SELECT forum_name, forum_type, forum_pass FROM « .$NPDS_Prefix. »forums WHERE forum_id = $forum_id »)); if (($forum_type == « 5 ») or ($forum_type == « 7 »)) { $ok_affich = false; $tab_groupe = valid_group($user); $ok_affich = groupe_forum($forum_pass, $tab_groupe); } else { $ok_affich = true; } if ($ok_affich) { if ($poster_id != 0) list($uname) = sql_fetch_row(sql_query(« SELECT uname FROM « .$NPDS_Prefix. »users WHERE uid = $poster_id »)); if ($forum_limit % 2) { $MM_forumP .= ‘
‘; } else {
$MM_forumP .= ‘
‘; }
$sqlR = « SELECT rid FROM « .$NPDS_Prefix. »forum_read WHERE topicid = ‘$topic_id’ AND uid = ‘$mbid[0]’ AND status != ‘0’ »;
if ($ibid = theme_image(« forum/icons/hot_red_folder.gif »))
{
$imgtmpHR = $ibid;
}
else
{
$imgtmpHR = « images/forum/icons/hot_red_folder.gif »;
}
if ($ibid = theme_image(« forum/icons/hot_folder.gif »))
{
$imgtmpH = $ibid;
}
else
{
$imgtmpH = « images/forum/icons/hot_folder.gif »;
}
if ($ibid = theme_image(« forum/icons/red_folder.gif »))
{
$imgtmpR = $ibid;
}
else
{
$imgtmpR = « images/forum/icons/red_folder.gif »;
}
if ($ibid = theme_image(« forum/icons/folder.gif »))
{
$imgtmpF = $ibid;
}
else
{
$imgtmpF = « images/forum/icons/folder.gif »;
}
if ($ibid = theme_image(« forum/icons/lock.gif »))
{
$imgtmpL = $ibid;
}
else
{
$imgtmpL= »images/forum/icons/lock.gif »;
}
$TableRep = sql_query(« SELECT * FROM « .$NPDS_Prefix. »posts WHERE topic_id = ‘$topic_id' »);
$replys = sql_num_rows($TableRep)-1;
$hot_threshold = 10;//Nbres sujets chauds
if ($replys >= $hot_threshold)
{
if (sql_num_rows(sql_query($sqlR))==0)
$image = $imgtmpHR;
else
$image = $imgtmpH;
}
else
{
if (sql_num_rows(sql_query($sqlR))==0)
$image = $imgtmpR;
else
$image = $imgtmpF;
}
if ($myrow[topic_status]!=0)
$image = $imgtmpL;
$MM_forumP .= ‘
‘
.’
‘.$forum_name.’ ‘
.’
‘.$topic_title.’ ‘
.’
‘.$replys.’ ‘
.’
‘.$uname.’ ‘
.’
‘.$time.’ ‘;
}
}
$MM_forumP .= ‘
‘
.’
‘;
return ($MM_forumP);
}
Modération de BatteMan : Sujet déplacé dans le forum « Développement ».
www.amigang-store.com
Hip !!
De ce que je comprends, le script fonctionne, mais ne retourne pas ce qui est souhaité…
J’aimerais bien avoir accès à ta base pour voir ce qu’elle donne cette requête sql.
A l’heure actuelle, qu’est-ce qui est affiché ?
@Amilord: le truc, c’est qu’on ne peut l’affirmer sans avoir la définition complète de ce champ post_id… Même si on peut en effet penser qu’il est en auto-incrémenté… Mais Si c’était vraiment le cas, ça marcherait tel quel.!! qiH
j’ai trouvé ça dans la base de données:
#
#
# Structure de la table ‘forum_attachments’
#
DROP TABLE IF EXISTS forum_attachments;
CREATE TABLE forum_attachments (
att_id int(11) NOT NULL auto_increment,
post_id int(11) DEFAULT ‘0’ NOT NULL,
topic_id int(11) DEFAULT ‘0’ NOT NULL,
forum_id int(11) DEFAULT ‘0’ NOT NULL,
unixdate int(11) DEFAULT ‘0’ NOT NULL,
att_name varchar(255) NOT NULL,
att_type varchar(64) NOT NULL,
att_size int(11) DEFAULT ‘0’ NOT NULL,
att_path varchar(255) NOT NULL,
inline char(1) NOT NULL,
apli varchar(10) NOT NULL,
compteur int(11) DEFAULT ‘0’ NOT NULL,
visible tinyint(1) DEFAULT ‘0’ NOT NULL,
KEY att_id (att_id),
KEY post_id (post_id),
KEY topic_id (topic_id),
KEY apli (apli),
KEY visible (visible),
KEY forum_id (forum_id)
);
#
# Contenu de la table ‘forum_attachments’
#
#
#
#
# Structure de la table ‘forum_read’
#
DROP TABLE IF EXISTS forum_read;
CREATE TABLE forum_read (
rid int(11) NOT NULL auto_increment,
forum_id int(10) DEFAULT ‘0’ NOT NULL,
topicid int(3) DEFAULT ‘0’ NOT NULL,
uid int(11) DEFAULT ‘0’ NOT NULL,
last_read int(15) DEFAULT ‘0’ NOT NULL,
status tinyint(1) DEFAULT ‘1’ NOT NULL,
PRIMARY KEY (rid),
KEY topicid (topicid),
KEY forum_id (forum_id),
KEY uid (uid),
KEY forum_read_mcl (forum_id, uid, topicid, status)
);
#
#
# Structure de la table ‘forums’
#
DROP TABLE IF EXISTS forums;
CREATE TABLE forums (
forum_id int(10) NOT NULL auto_increment,
forum_name varchar(150),
forum_desc text,
forum_access int(10) DEFAULT ‘1’,
forum_moderator text,
cat_id int(10),
forum_type int(10) DEFAULT ‘0’,
forum_pass varchar(60),
arbre tinyint(1) unsigned DEFAULT ‘0’ NOT NULL,
attachement tinyint(1) unsigned DEFAULT ‘0’ NOT NULL,
forum_index int(2) unsigned DEFAULT ‘0’ NOT NULL,
PRIMARY KEY (forum_id)
);
#
#
# Structure de la table ‘forumtopics’
#
DROP TABLE IF EXISTS forumtopics;
CREATE TABLE forumtopics (
topic_id int(10) NOT NULL auto_increment,
topic_title varchar(100),
topic_poster int(10),
topic_time datetime,
topic_views int(10) DEFAULT ‘0’ NOT NULL,
forum_id int(10),
topic_status int(10) DEFAULT ‘0’ NOT NULL,
topic_notify int(2) DEFAULT ‘0’,
current_poster int(10),
topic_first tinyint(1) DEFAULT ‘1’ NOT NULL,
PRIMARY KEY (topic_id),
KEY forum_id (forum_id),
KEY topic_first (topic_first, topic_time)
);
En espérant que ça puisse t’aider
www.amigang-store.com
c’est ça ?
#
#
# Structure de la table ‘posts’
#
DROP TABLE IF EXISTS posts;
CREATE TABLE posts (
post_id int(10) NOT NULL auto_increment,
post_idH int(10) DEFAULT ‘0’ NOT NULL,
image varchar(100) NOT NULL,
topic_id int(10) DEFAULT ‘0’ NOT NULL,
forum_id int(10) DEFAULT ‘0’ NOT NULL,
poster_id int(10),
post_text text,
post_time varchar(20),
poster_ip varchar(16),
poster_dns text,
post_aff tinyint(1) unsigned DEFAULT ‘1’ NOT NULL,
PRIMARY KEY (post_id),
KEY forum_id (forum_id),
KEY topic_id (topic_id),
KEY post_aff (post_aff)
);
www.amigang-store.com
15 sujets de 1 à 15 (sur un total de 15)
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Développement › [Résolu] Forum du site meta-morphos: classement par date