DCMS | Кто подскажет? DCMS social
$q=mysql_query("SELECT * FROM `forum_t` WHERE `time_create` > `time` $adm_add2 ORDER BY `time_create` DESC LIMIT 3");
Ничего понять не могу как правильно написать то?) пишу как выше, но темы не выводит
А если прописываю вот так
$q=mysql_query("SELECT * FROM `forum_t`$adm_add2 ORDER BY `time_create` DESC LIMIT $start, 3");
То темы не поднимаются, когда пишешь в них комментарий
Вот целиком код)
<?
//Вывод тем форума
$adm_add = NULL;
$adm_add2 = NULL;
if (!isset($user) || $user['level']==0){
$q222 = mysql_query("SELECT * FROM `forum_f` WHERE `adm` = '1'");
while ($adm_f = mysql_fetch_assoc($q222)){
$adm_add[] = "`id_forum` <> '$adm_f[id]'";
}
if (sizeof($adm_add) != 0)
$adm_add2 = ' WHERE'.implode(' AND ', $adm_add);
}
$k_post = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_t`$adm_add2"),0);
$k_page = k_page($k_post,$set['p_str']);
$page = page($k_page);
$start = $set['p_str'] * $page - $set['p_str'];
echo '<table class="post">';
$q=mysql_query("SELECT * FROM `forum_t` WHERE `time_create` > `time` $adm_add2 ORDER BY `time_create` DESC LIMIT 5");
//Если список пуст
if ($k_post == 0) {
echo '<div class="nav2">Нет активных тем</div>';
}
echo '<div class="menu">';
echo '<div class="forums"><a>Новые темы:</a></div>';
while ($them = dbassoc($q))
{
// Определение подфорума
$forum = dbarray(dbquery("SELECT * FROM `forum_f` WHERE `id` = '$them[id_forum]' LIMIT 1"));
// Определение раздела
$razdel = dbarray(dbquery("SELECT * FROM `forum_r` WHERE `id` = '$them[id_razdel]' LIMIT 1"));
// Лесенка дивов
if ($num == 0)
{
echo '<div class="nav2">';
$num = 1;
}
elseif ($num == 1)
{
echo '<div class="nav1">';
$num = 0;
}
// Иконка темы
echo '<img src="/style/themes/' . $set['set_them'] . '/forum/14/them_' . $them['up'] . $them['close'] . '.png" alt="" /> ';
// Ссылка на тему
echo '<a href="/forum/' . $forum['id'] . '/' . $razdel['id'] . '/' . $them['id'] . '/">' . text($them['name']) . '</a>
<a href="/forum/' . $forum['id'] . '/' . $razdel['id'] . '/' . $them['id'] . '/?page=' . $pageEnd . '">
(' . dbresult(dbquery("SELECT COUNT(*) FROM `forum_p` WHERE `id_forum` = '$forum[id]' AND `id_razdel` = '$razdel[id]' AND `id_them` = '$them[id]'"),0) . ')</a><br/>';
// Подфорум и раздел
// echo '<a href="/forum/' . $forum['id'] . '/">' . text($forum['name']) . '</a> > <a href="/forum/' . $forum['id'] . '/' . $razdel['id'] . '/">' . text($razdel['name']) . '</a><br />';
// Автор темы
$ank = dbassoc(dbquery("SELECT * FROM `user` WHERE `id` = $them[id_user] LIMIT 1"));
echo 'Автор: '.group($ank['id']).' <a href="/info.php?id=' . $ank['id'] . '">' . $ank['nick'] . ' '.medal($ank['id']).' '.online($ank['id']).'</a> (' . vremja($them['time_create']) . ')<br />';
// Последний пост
$post = dbarray(dbquery("SELECT * FROM `forum_p` WHERE `id_them` = '$them[id]' AND `id_razdel` = '$razdel[id]' AND `id_forum` = '$forum[id]' ORDER BY `time` DESC LIMIT 1"));
// Автор последнего поста
if($post['id']) {
$ank2 = dbassoc(dbquery("SELECT * FROM `user` WHERE `id` = $post[id_user] LIMIT 1"));
if ($ank2['id'])
echo 'Посл.: <a href="/info.php?id=' . $ank2['id'] . '"> '.group($post['id_user']).' ' . $ank2['nick'] . ' '.medal($ank2['id']).' '.online($ank2['id']).'</a> (' . vremja($post['time']) . ')<br />';
}
echo '</div>';
}
echo '</table>';
?>
Так у тебя сортировка идёт по дате создания темы, а не по написанию комментария в ней, поэтому и не выводит.
Пробуй ORDER BY `time_create` DESC заменить на ORDER BY `time` DESC
Насколько помню в этой ветке DCMS именно данное поле отвечает за время обновление темы.
Насколько помню в этой ветке DCMS именно данное поле отвечает за время обновление темы.
DenSBK (3 нояб 2022, в 7:20)
Пробуй ORDER BY `time_create` DESC заменить на ORDER BY `time` DESC
Насколько помню в этой ветке DCMS именно данное поле отвечает за время обновление темы.
в бд нехай створить поле ну наприклад up, туди буде записуватись час, і при додаванні кожного комента через INSERT INTO обновляє цю строку up заповнюючи часом. А при виводі тоді нехай ставить ORDER BY up
Пробуй ORDER BY `time_create` DESC заменить на ORDER BY `time` DESC
Насколько помню в этой ветке DCMS именно данное поле отвечает за время обновление темы.
________
посл. ред. 03.11.2022 в 09:30; всего 1 раз(а); by Bymas_ru
[i] ,
<?
//Вывод тем форума
$adm_add = NULL;
$adm_add2 = NULL;
if (!isset($user) || $user['level']==0){
$q222 = mysql_query("SELECT * FROM `forum_f` WHERE `adm` = '1'");
while ($adm_f = mysql_fetch_assoc($q222)){
$adm_add[] = "`id_forum` <> '$adm_f[id]'";
}
if (sizeof($adm_add) != 0)
$adm_add2 = ' WHERE'.implode(' AND ', $adm_add);
}
$k_post = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_t`$adm_add2"),0);
$k_page = k_page($k_post,$set['p_str']);
$page = page($k_page);
$start = $set['p_str'] * $page - $set['p_str'];
echo '<table class="post">';
$q=mysql_query("SELECT * FROM `forum_t`$adm_add2 ORDER BY `time` DESC LIMIT $start, 3");
//Если список пуст
if ($k_post == 0) {
echo '<div class="nav2">Нет активных тем</div>';
}
echo '<div class="menu">';
echo '<div class="forums"><a>Новые темы:</a></div>';
while ($them = dbassoc($q))
{
// Определение подфорума
$forum = dbarray(dbquery("SELECT * FROM `forum_f` WHERE `id` = '$them[id_forum]' LIMIT 1"));
// Определение раздела
$razdel = dbarray(dbquery("SELECT * FROM `forum_r` WHERE `id` = '$them[id_razdel]' LIMIT 1"));
// Лесенка дивов
if ($num == 0)
{
echo '<div class="nav2">';
$num = 1;
}
elseif ($num == 1)
{
echo '<div class="nav1">';
$num = 0;
}
// Иконка темы
echo '<img src="/style/themes/' . $set['set_them'] . '/forum/14/them_' . $them['up'] . $them['close'] . '.png" alt="" /> ';
// Ссылка на тему
echo '<a href="/forum/' . $forum['id'] . '/' . $razdel['id'] . '/' . $them['id'] . '/">' . text($them['name']) . '</a>
<a href="/forum/' . $forum['id'] . '/' . $razdel['id'] . '/' . $them['id'] . '/?page=' . $pageEnd . '">
(' . dbresult(dbquery("SELECT COUNT(*) FROM `forum_p` WHERE `id_forum` = '$forum[id]' AND `id_razdel` = '$razdel[id]' AND `id_them` = '$them[id]'"),0) . ')</a><br/>';
// Подфорум и раздел
// echo '<a href="/forum/' . $forum['id'] . '/">' . text($forum['name']) . '</a> > <a href="/forum/' . $forum['id'] . '/' . $razdel['id'] . '/">' . text($razdel['name']) . '</a><br />';
// Автор темы
$ank = dbassoc(dbquery("SELECT * FROM `user` WHERE `id` = $them[id_user] LIMIT 1"));
echo 'Автор: '.group($ank['id']).' <a href="/info.php?id=' . $ank['id'] . '">' . $ank['nick'] . ' '.medal($ank['id']).' '.online($ank['id']).'</a> (' . vremja($them['time_create']) . ')<br />';
// Последний пост
$post = dbarray(dbquery("SELECT * FROM `forum_p` WHERE `id_them` = '$them[id]' AND `id_razdel` = '$razdel[id]' AND `id_forum` = '$forum[id]' ORDER BY `time` DESC LIMIT 1"));
// Автор последнего поста
if($post['id']) {
$ank2 = dbassoc(dbquery("SELECT * FROM `user` WHERE `id` = $post[id_user] LIMIT 1"));
if ($ank2['id'])
echo 'Посл.: <a href="/info.php?id=' . $ank2['id'] . '"> '.group($post['id_user']).' ' . $ank2['nick'] . ' '.medal($ank2['id']).' '.online($ank2['id']).'</a> (' . vremja($post['time']) . ')<br />';
}
echo '</div>';
}
echo '</table>';
// Вывод cтраниц
?>