Перейти к содержанию
СофтФорум - всё о компьютерах и не только

IPB Last Topics


Рекомендуемые сообщения

Нужна помощь! Сам себя уже конкретно запутал...

Хотел сделать блок с с самыми последними темами и сообщениями, как ЗДЕСЬ.

Кодировка форума у меня windows-1251, база само собой так же.

Написал запрос к базе, всё ОК, только русский язык в "?????????" вылетает...

Голова не шарит, да я сам уже запутался...

Помогите пожалуйста!

Спасибо!

Изменено пользователем Dare-Devil
Ссылка на комментарий
Поделиться на другие сайты

Во первих попробуйте добавить запрос

SET NAMES 'cp1251'

Перед запроса последних сообщения

Во вторих (если не сработаеть) где сделали блок - в каком скрипте (в самом ipb или внешнего), какая кодировка файла и т.д. ?

Ссылка на комментарий
Поделиться на другие сайты

Спасибо!

Добавил

SET NAMES 'cp1251'

и всё ОК!

С меня "+" :no:

Теперь вопрос такой, как добавить это в заголовке форума?

Я когдато изменял общий шаблон форума, чтоб вклеить туда объявления Гугла, но это просто ДжаваСкрипт...

Я сомневаюсь что туда PHP прописывать можно... Или можно?

Вот с этим еще помогите :)

Изменено пользователем Dare-Devil
Ссылка на комментарий
Поделиться на другие сайты

Ладно, пока сделал фрейм на статус, и всё норма.

Но всё же интересно как сделать это без фрейма...

В общем, блок закончен!

Кому полезно, ниже код!

Выдает три блока : Последние темы, последние сообщения, и интересные темы.

Настройки вписывайте свои.

Стиль тож по вашему вкусу.

Э... Как там этот копирайт?? :)

Статус скрипта FreeWare (Бесплатный)

Строго код не судите, я только учусь! :D

<?php//Главные настройки$host = localhost; //Адресс вашего сервера , обычно это localhost$login = login; //Ваш логин к MySQL серверу.$pass = pass; //Ваш пароль к MySQL серверу.$database = database; //База данных вашего форума$urlforum = "http://www.yourhost.com/forum"; //URL вашего форума, без слеша (/) в конце.$con = mysql_connect($host,$login,$pass) or die ("Couldn't Connect : " . mysql_error());$db = mysql_select_db($database,$con) or die ("Couldn't Select DB : " . mysql_error());///New Topics$car = mysql_query("SET NAMES cp1251",$con) or die("SET NAMES FAILED : " . mysql_error());$sql = "SELECT tid, title FROM ibf_topics ORDER BY tid DESC LIMIT 10";$result = mysql_query($sql,$con) or die("Query failed : " . mysql_error());while($row = mysql_fetch_array($result)){$title = $row['title'];$tid = $row['tid'];$content .= "<a href=\"$urlforum/index.php?showtopic=$tid\" target=\"_top\">$title</a><br>";}///Last posts$sql = "SELECT pid, topic_id FROM ibf_posts ORDER BY pid DESC LIMIT 10";$result = mysql_query($sql,$con) or die("Query failed : " . mysql_error());while($row = mysql_fetch_array($result)){$pid = $row['pid'];$tid = $row['topic_id'];$sqlt = "SELECT title FROM ibf_topics WHERE tid = $tid";$res = mysql_query($sqlt,$con) or die("Query failed : " . mysql_error());$ro = mysql_fetch_array($res);$title = $ro['title'];$content2 .= "<a href=\"$urlforum/index.php?showtopic=$tid&view=getnewpost\" target=\"_top\">$title</a><br>";}///Interesting topics$sql3 = "SELECT title, posts, tid FROM ibf_topics ORDER BY posts DESC LIMIT 10";$result3 = mysql_query($sql3,$con) or die("Query failed : " . mysql_error());while($row3 = mysql_fetch_array($result3)){$title3 = $row3['title'];$tid3 = $row3['tid'];//$posts3 = $row3['posts'];$content3 .= "<a href=\"$urlforum/index.php?showtopic=$tid3&view=getnewpost\" target=\"_top\">$title3</a><br>";}?><html><head><meta http-equiv=Content-Type content="text/html; charset=windows-1251"><style type="text/css"><!--BODY {font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 8px;font-weight: normal;	color: #FFFFFF}A {font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10px;color: #FFFFFF;}A:hover {font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10px;color: #82ad41;}--></style></head><body bgcolor="#1b1b1b"><center><table width="800" border="0" cellpadding="0" cellspacing="0" ><tr><td><table width="300" border="1" bordercolor="#82ad41"><tr><td><center><b>Last Topics:</b></td></tr><tr><td><center><?php echo $content; ?></td></tr></table></td><td><table width="300" border="1" bordercolor="#82ad41"><tr><td><center><b>Last Posts:</b></td></tr><tr><td><center><?php echo $content2; ?></td></tr></table></td><td><table width="300" border="1" bordercolor="#82ad41"><tr><td><center><b>Interesting Topics:</b></td></tr><tr><td><center><?php echo $content3; ?></td></tr></table></td></tr></table></body></html>
Изменено пользователем Dare-Devil
Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

Может кто помочь? Голова не шарит в будние дни!

В колонке последних сообщений, пишется всё подряд! Тоесть, если в одной и той же теме писали 10 сообщений подряд, то все колонка забита только той темой в которой писали. И выходит так:

Последние сообщения:

Тема

Тема

Тема

Тема

Тема

Тема

Тема

Тема

Тема

Тема

Подскажите как скрипт "подрихтовать" , чтоб не выводило одно и тоже!

Как бы обьяснить...

Если тема уже писалась, то не выбирать её еще раз, и перейти дальше!

Незнаю что чинить, SQL запрос или сам код!

Спасибо!

Ссылка на комментарий
Поделиться на другие сайты

$sql = "SELECT pid, topic_id FROM ibf_posts ORDER BY pid DESC LIMIT 10";

Замени на

$sql = "SELECT DISTINCT topic_id, pid FROM ibf_posts ORDER BY pid DESC LIMIT 10"
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...