ДоХтор,
// вывод на главную форума и библиотеки
function LastNotes($switch = 'F', $lmt = 5) {
if ($switch == 'F' && intval($lmt) > 0) {
$sql = "SELECT id, text FROM forum WHERE type = 't' ORDER BY time DESC LIMIT $lmt";
} elseif ($switch == 'L' && intval($lmt) > 0) {
$sql = "SELECT id, name, count_views, count_comments FROM library_texts
WHERE premod = 1 ORDER BY time DESC LIMIT $lmt";
} else {
return false;
}
$res = mysql_query($sql) or die (mysql_error());
$out = ''; $i = 0;
while ($row = mysql_fetch_assoc($res)) {
if ($switch == 'F') {
$out .= ($i % 2 ? '<div class="news">' : '<div class="news">') .
'<a href="/forum/?id='. $row['id'] .'">'. $row['text'] .'</a></div>';
} elseif ($switch == 'L') {
$out .= ($i % 2 ? '<div class="news">' : '<div class="news">') .
'<a href="/library/?id='. $row['id'] .'">'. $row['name'] .'</a></div>';
}
$i++;
}
return $out;
}
WPeople, Это ведь не весь код, ты написал только описание функции, а нужно написать ещё и её вызов с соответствующими параметрами. Например:
echo LastNotes('L'); //Последние 5 статей библиотеки
echo LastNotes('L', 2); //Последние 2 статьи библиотеки
echo LastNotes('F', 10); //Последние 10 тем форума
И так далее.
ДоХтор, Вот так?
// вывод на главную форума и библиотеки
function LastNotes($switch = 'F', $lmt = 5) {
if ($switch == 'F' && intval($lmt) > 0) {
$sql = "SELECT id, text FROM forum WHERE type = 't' ORDER BY time DESC LIMIT $lmt";
} elseif ($switch == 'L' && intval($lmt) > 0) {
$sql = "SELECT id, name, count_views, count_comments FROM library_texts
WHERE premod = 1 ORDER BY time DESC LIMIT $lmt";
} else {
return false;
}
$res = mysql_query($sql) or die (mysql_error());
$out = ''; $i = 0;
while ($row = mysql_fetch_assoc($res)) {
if ($switch == 'F') {
$out .= ($i % 2 ? '<div class="news">' : '<div class="news">') .
'<a href="/forum/?id='. $row['id'] .'">'. $row['text'] .'</a></div>';
} elseif ($switch == 'L') {
$out .= ($i % 2 ? '<div class="news">' : '<div class="news">') .
'<a href="/library/?id='. $row['id'] .'">'. $row['name'] .'</a></div>';
}
$i++;
}
return $out;
}
echo LastNotes('L', 2); //Последние 2 статьи библиотеки
echo LastNotes('F', 10); //Последние 10 тем форума
# ДоХтор (26.07.2016 / 22:54)
Вот так
а почему не добавить проверку на наличие записей? и при отсутствии выводить мол записей пока нет
ДоХтор, не знаешь как сделать как на скрине счетчик и рядом ник который оставил последний пост на теме форума
WPeople, с позволения ДоХтора
++++++ (+/-)
function LastNotes($switch = 'F', $lmt = 5) {
if ($switch == 'F' && intval($lmt) > 0) {
$out = '<div class="bmenu">Последние <b>'. $lmt .'</b> тем форума</div>';
$sql = "SELECT forum.id, forum.text, users.name FROM forum JOIN users ON forum.user_id = users.id AND type = 't' ORDER BY time DESC LIMIT $lmt";
} elseif ($switch == 'L' && intval($lmt) > 0) {
$out = '<div class="bmenu">Последние <b>'. $lmt .'</b> статей библиотеки</div>';
$sql = "SELECT id, uploader_id, uploader, name, count_views, count_comments FROM library_texts
WHERE premod = 1 ORDER BY time DESC LIMIT $lmt";
} else {
return false;
}
$res = mysql_query($sql) or die (mysql_error());
$i = 0;
while ($row = mysql_fetch_assoc($res)) {
if ($switch == 'F') {
$out .= ($i % 2 ? '<div class="list2">' : '<div class="list1">') .
'<a href="/forum/?id='. $row['id'] .'">'. $row['text'] .'</a> (' . $row['name'] . ')</div>';
} elseif ($switch == 'L') {
$color_views = ($row['count_views'] > 0 ? 'green' : 'red');
$color_comments = ($row['count_comments'] > 0 ? 'green' : 'red');
$out .= ($i % 2 ? '<div class="list2">' : '<div class="list1">') .
'<a href="/library/?id='. $row['id'] .'">'. $row['name'] .'</a>' .
'<div class="topmenu">просмотры: <span style="color:'. $color_views .'">'.
$row['count_views'] .'</span> комментарии: <span style="color:'. $color_comments .'">'.
$row['count_comments'] .'</span> автор:
<a href="users/profile.php?user=' . $row['uploader_id'] . '">' . $row['uploader'] . '</a></div></div>';
}
$i++;
}
return $out;
}
ну и такое еще, с проверкой на наличие тем/статтей
+++++ (+/-)
function LastNotes($switch = 'F', $lmt = 5) {
if ($switch == 'F' && intval($lmt) > 0) {
$sql = "SELECT COUNT(*) FROM forum WHERE type = 't'";
} elseif ($switch == 'L' && intval($lmt) > 0) {
$sql = "SELECT COUNT(*) FROM library_texts";
} else {
$out = FALSE;
}
$total = mysql_result(mysql_query($sql), 0);
if ($total) {
if ($switch == 'F') {
$out = '<div class="bmenu">Последние <b>'. $lmt .'</b> тем форума</div>';
$sql = "SELECT forum.id, forum.text, users.name FROM forum JOIN users ON forum.user_id = users.id AND type = 't' ORDER BY time DESC LIMIT $lmt";
} elseif ($switch == 'L') {
$out = '<div class="bmenu">Последние <b>'. $lmt .'</b> статей библиотеки</div>';
$sql = "SELECT id, uploader_id, uploader, name, count_views, count_comments FROM library_texts
WHERE premod = 1 ORDER BY time DESC LIMIT $lmt";
} else {
$out = FALSE;
}
$res = mysql_query($sql) or die (mysql_error());
$i = 0;
while ($row = mysql_fetch_assoc($res)) {
if ($switch == 'F') {
$out .= ($i % 2 ? '<div class="list2">' : '<div class="list1">') .
'<a href="/forum/?id='. $row['id'] .'">'. $row['text'] .'</a> (' . $row['name'] . ')</div>';
} elseif ($switch == 'L') {
$color_views = ($row['count_views'] > 0 ? 'green' : 'red');
$color_comments = ($row['count_comments'] > 0 ? 'green' : 'red');
$out .= ($i % 2 ? '<div class="list2">' : '<div class="list1">') .
'<a href="/library/?id='. $row['id'] .'">'. $row['name'] .'</a>' .
'<div class="topmenu">просмотры: <span style="color:'. $color_views .'">'.
$row['count_views'] .'</span> комментарии: <span style="color:'. $color_comments .'">'.
$row['count_comments'] .'</span> автор:
<a href="users/profile.php?user=' . $row['uploader_id'] . '">' . $row['uploader'] . '</a></div></div>';
}
$i++;
}
} else {
if (($switch == 'F' || $switch == 'L') && $lmt > 0) {
$out = '<div class="gmenu">Пока что ' . ($switch == 'F' ? 'форум пустой' : 'библиотека пустая') . '</div>';
} else {
$out = FALSE;
}
}
return $out;
}
Str@nnik, Если только вывод тем форума то удаляем функцию библиотеки?