 |
 | |
28.02.2008, 20:40
|
#1 (permalink)
| | Местный
Специализация: Дизайнер Регистрация: 22.02.2008 Адрес: Санкт-Петербург, Барселона, Мадрид Сообщений: 149 Репутация: 21  9921473 | Unhappy Админам - Вывод новостей с форума Вопрос к админам и всем добрым людям:
Как согласно этой статье, организовать вывод новостей (тем с форума) на главную страницу сайта?
Все делаю как надо. Подключил БД след. скриптом: Код: <?php
$db=mysql_connect ("localhost", "root", "") or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db ("forum");
?> далее сам скрипт.
но мне выдается ошибка:
Fatal error: Call to a member function query_read() on a non-object in Z:\home\localhost\www\test\index.php on line 43
на 43 строчке кода находится следующее: Код: $result = $vbulletin->db->query_read(" Пробывал сделать как написано в комментариях к этой статье: Цитата: надо
либо заменить строку на $result = $db->query_read("
либо написать выше: $vbulletin->db =& $db; но ничего не меняется. написал комментарий. никто не отвечает. перерыл уже все что только можно, спросил всех. никто не может помочь . Каким именно скриптом организван вывод новостей на сайте vbsupport.org? что нужно сделать чтобы скрипт заработал? Помогите пожалуйста!!! |
| | | Этот пользователь отблагодарил AnD1 за это сообщение: | |
28.02.2008, 20:47
|
#2 (permalink)
| | Администратор
Специализация: Кодер Регистрация: 10.01.2008 Адрес: Украина, Киев. Сообщений: 1,363 Репутация: 719  974909 | Ответ: Unhappy Админам - Вывод новостей с форума AnD1, покажи весь скрипт. |
| |
28.02.2008, 20:57
|
#3 (permalink)
| | Местный
Специализация: Дизайнер Регистрация: 22.02.2008 Адрес: Санкт-Петербург, Барселона, Мадрид Сообщений: 149 Репутация: 21  9921473 | Ответ: Unhappy Админам - Вывод новостей с форума AleX, в этой статье все есть.
Сам скрипт: Код: $forum_ids = "2"; // номер(а) раздела(ов), из которого(ых) выводятся темы. Разделять запятыми
$pagenum = htmlspecialchars(intval($_GET['page']));
$pp = htmlspecialchars(intval($_GET['perpage']));
function check_int($inpval,$retval)
{
if ($inpval)
{
$len = strlen($inpval);
for($i=0; $i<$len; $i++)
{
if($inpval[$i] < '0' && $inpval[$i] > '9')
{
return $retval;
exit;
}
}
return $inpval;
}
else
{
return $retval;
}
}
$pagenum = check_int($pagenum,1);
$pp = check_int($pp,5);
if ($pp > 100)
{
$pp = 5;
}
$start_pt = ($pagenum - 1)*$pp;
$result = $vbulletin->db->query_read("
SELECT T.threadid, T.postusername, T.title as title, T.replycount, T.postuserid as userid, F.description as ftitle, P.pagetext, P.dateline, T.lastpostid, T.views
FROM " . TABLE_PREFIX . "thread T
LEFT JOIN " . TABLE_PREFIX . "user U ON (T.lastposter = U.username)
INNER JOIN " . TABLE_PREFIX . "forum F ON (T.forumid = F.forumid)
INNER JOIN " . TABLE_PREFIX . "post P on P.postid = T.firstpostid
WHERE T.forumid in (".$forum_ids.") and T.visible = 1
ORDER BY T.threadid desc
LIMIT ".intval($start_pt).", ".intval($pp)
);
$all_news = $vbulletin->db->query_first("
SELECT COUNT(`threadid`) AS all_cnt
FROM thread
WHERE forumid in (".$forum_ids.")
");
require_once(DIR . '/includes/class_bbcode.php');
$bbcode_parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list());
while ($row = $db->fetch_array($result))
{
$obrez = false;
if (strlen($row['pagetext']) > 1200)
{
$row['pagetext'] = substr($row['pagetext'], 0, 1000);
$obrez = true;
}
$row['pagetext'] = $bbcode_parser->do_parse($row['pagetext'],'0','1','1','1');
echo '<strong> <font size="2">'.$row['title'].'</font> </strong><font size="-2" face="Tahoma" color="#999999">- <a href="'.$forumdir.'/member.php?u='.$row['userid'].'" id="nodecor">'.$row['postusername'].'</a> <br>
'.$row['ftitle'].' <br>
'.vbdate("d.m - H:i", $row['dateline']).'<br><br></font>
<div align="justify">'.$row['pagetext'].'';
if ($obrez)
{
echo'... <a href="'.$forumdir.'/showthread.php?t='.$row['threadid'].'"><font size="-2" face="Tahoma">[дальше]</div></font></a>';
}
echo '
<p align="right"><font size="-2" face="Tahoma"><a href="'.$forumdir.'/newreply.php?do=newreply&noquote=1&p='.$row['lastpostid'].'"><b>комментировать</b></a> <br>
<a href="'.$forumdir.'/showthread.php?goto=newpost&t='.$row['threadid'].'" id="nodecor">ответов: <strong>'.$row['replycount'].'</strong> | просмотров: <b>'.$row['views'].'</b></a></font></p><br><br>';
}
if ((($pp > 20) || ($pp < 10)) && (($pp % 10 > 1) && ($pp % 10 <5)))
{
$news_end = "и";
}
elseif ((($pp > 20) || ($pp < 10)) && ($pp % 10 == 1))
{
$news_end = "ь";
}
elseif ($pp != 0)
{ $news_end = "ей";
}
$pageslink = "";
if ($all_news['all_cnt'] > ($start_pt + $pp))
{
$pageslink = '<div align="right"><a href="index.php?page='.($pagenum + 1).'&pp='.$pp.'"><b>на '.$pp.' новост'.$news_end.' назад</div>';
if ($start_pt)
{
$pageslink .= (" | ");
}
else
{
$pageslink .= "</p>";
}
}
if ($start_pt)
{
if ($pageslink == "")
{
$pageslink = '<div align="right">';
}
$pageslink .= '<a href="index.php?page='.($pagenum - 1).'&pp='.$pp.'"><b>на '.$pp.' новост'.$news_end.' вперёд</b></div>';
}
echo $pageslink; |
| | | Этот пользователь отблагодарил AnD1 за это сообщение: | |
29.02.2008, 14:47
|
#4 (permalink)
| | Администратор
Специализация: Кодер Регистрация: 10.01.2008 Адрес: Украина, Киев. Сообщений: 1,363 Репутация: 719  974909 | Ответ: Unhappy Админам - Вывод новостей с форума PHP код: <?php
error_reporting(E_ALL & ~E_NOTICE); define('NO_REGISTER_GLOBALS', 1); define('THIS_SCRIPT', 'index'); session_start(); $incpath = dirname(__FILE__) . ' путь к includes'; $forumpath = dirname(__FILE__) . 'путь к форуму';
if (!is_dir($incpath)) { echo 'Введите правильный путь в переменной $incpath.<br />'; } if (!is_dir($forumpath)) { echo 'Введите правильный путь в переменной $forumpath.<br />'; if (getcwd()) { echo ' Возможный путь до файла конфигурации: '.getcwd().'<br />'; } exit; }
chdir($forumpath);
$phrasegroups = array(); $globaltemplates = array(); $actiontemplates = array(); $specialtemplates = array();
require_once('./global.php');
$forumdir = $vbulletin->options['bburl'];
?>
<?php $db=mysql_connect ("localhost", "user", "pass") or die ('I cannot connect to the database because: ' . mysql_error()); mysql_select_db ("db"); ?>
<?php $forum_ids = "2"; // номер(а) раздела(ов), из которого(ых) выводятся темы. Разделять запятыми
$pagenum = htmlspecialchars(intval($_GET['page'])); $pp = htmlspecialchars(intval($_GET['perpage']));
function check_int($inpval,$retval) { if ($inpval) { $len = strlen($inpval); for($i=0; $i<$len; $i++) { if($inpval[$i] < '0' && $inpval[$i] > '9') { return $retval; exit; } } return $inpval; } else { return $retval; } }
$pagenum = check_int($pagenum,1); $pp = check_int($pp,5); if ($pp > 100) { $pp = 5; } $start_pt = ($pagenum - 1)*$pp; $vbulletin->db =& $db; $result = $vbulletin->db->query_read(" SELECT T.threadid, T.postusername, T.title as title, T.replycount, T.postuserid as userid, F.description as ftitle, P.pagetext, P.dateline, T.lastpostid, T.views FROM " . TABLE_PREFIX . "thread T LEFT JOIN " . TABLE_PREFIX . "user U ON (T.lastposter = U.username) INNER JOIN " . TABLE_PREFIX . "forum F ON (T.forumid = F.forumid) INNER JOIN " . TABLE_PREFIX . "post P on P.postid = T.firstpostid WHERE T.forumid in (".$forum_ids.") and T.visible = 1 ORDER BY T.threadid desc LIMIT ".intval($start_pt).", ".intval($pp) );
$all_news = $vbulletin->db->query_first(" SELECT COUNT(`threadid`) AS all_cnt FROM thread WHERE forumid in (".$forum_ids.") ");
require_once(DIR . '/includes/class_bbcode.php'); $bbcode_parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list()); while ($row = $db->fetch_array($result)) { $obrez = false; if (strlen($row['pagetext']) > 1200) { $row['pagetext'] = substr($row['pagetext'], 0, 1000); $obrez = true; } $row['pagetext'] = $bbcode_parser->do_parse($row['pagetext'],'0','1','1','1');
echo '<strong> <font size="2">'.$row['title'].'</font> </strong><font size="-2" face="Tahoma" color="#999999">- <a href="'.$forumdir.'/member.php?u='.$row['userid'].'" id="nodecor">'.$row['postusername'].'</a> <br> '.$row['ftitle'].' <br> '.vbdate("d.m - H:i", $row['dateline']).'<br><br></font> <div align="justify">'.$row['pagetext'].''; if ($obrez) { echo'... <a href="'.$forumdir.'/showthread.php?t='.$row['threadid'].'"><font size="-2" face="Tahoma">[дальше]</div></font></a>'; } echo '
<p align="right"><font size="-2" face="Tahoma"><a href="'.$forumdir.'/newreply.php?do=newreply&noquote=1&p='.$row['lastpostid'].'"><b>комментировать</b></a> <br> <a href="'.$forumdir.'/showthread.php?goto=newpost&t='.$row['threadid'].'" id="nodecor">ответов: <strong>'.$row['replycount'].'</strong> | просмотров: <b>'.$row['views'].'</b></a></font></p><br><br>';
}
if ((($pp > 20) || ($pp < 10)) && (($pp % 10 > 1) && ($pp % 10 <5))) { $news_end = "и"; } elseif ((($pp > 20) || ($pp < 10)) && ($pp % 10 == 1)) { $news_end = "ь"; } elseif ($pp != 0) { $news_end = "ей"; }
$pageslink = ""; if ($all_news['all_cnt'] > ($start_pt + $pp)) { $pageslink = '<div align="right"><a href="index.php?page='.($pagenum + 1).'&pp='.$pp.'"><b>на '.$pp.' новост'.$news_end.' назад</div>'; if ($start_pt) { $pageslink .= (" | "); } else { $pageslink .= "</p>"; } } if ($start_pt) { if ($pageslink == "") { $pageslink = '<div align="right">'; } $pageslink .= '<a href="index.php?page='.($pagenum - 1).'&pp='.$pp.'"><b>на '.$pp.' новост'.$news_end.' вперёд</b></div>'; } echo $pageslink; ?> Точно не знаю. |
| |
29.02.2008, 14:53
|
#5 (permalink)
| | Местный
Специализация: Дизайнер Регистрация: 22.02.2008 Адрес: Санкт-Петербург, Барселона, Мадрид Сообщений: 149 Репутация: 21  9921473 | Ответ: Unhappy Админам - Вывод новостей с форума AleX, Код: Введите правильный путь в переменной $incpath.
Введите правильный путь в переменной $forumpath.
Возможный путь до файла конфигурации: /home/vol3/belhost.info/bel_1521818/htdocs Что-то не так...Но путь правильно ввел...  |
| |
14.03.2008, 22:28
|
#6 (permalink)
| | Администратор
Специализация: Кодер Регистрация: 10.01.2008 Адрес: Украина, Киев. Сообщений: 1,363 Репутация: 719  974909 | Ответ: Unhappy Админам - Вывод новостей с форума Код: // ######################### REQUIRE BACK-END ############################
require_once('./global.php');
require_once(DIR . '/includes/functions_bigthree.php');
require_once(DIR . '/includes/functions_forumlist.php');
require_once (DIR . '/includes/class_bbcode.php');
$bbcode_parser = &new vB_BbCodeParser($vbulletin, fetch_tag_list()); Вот это нужно подключить. "Подключение global.php" |
| | | 2 пользователя(ей) отблагодарили AleX за это сообщение: | |
23.06.2008, 06:13
|
#7 (permalink)
| | Новичок
Специализация: Кодер Регистрация: 23.06.2008 Сообщений: 6 Репутация: 4 | Ответ: Unhappy Админам - Вывод новостей с форума Вывод новостей из определенного раздела булки 3.7.0 PHP код: <? $dbhost="Хост"; $dbuser="Юзер"; $dbpass="Пароль"; $dbname="имя базы"; $forid="id раздела с новостями"; $flimit="кол-во новостей"; $url="ссылка на форум без последнего слеша"; $zfor="Длинна заголовка в символах"; $zdesc="Длина описания в символах"; $db = mysql_connect("$dbhost", "$dbuser", "$dbpass"); mysql_select_db("$dbname",$db); $news=mysql_query("SELECT * FROM thread JOIN post ON (thread.firstpostid = post.postid) WHERE thread.forumid='$forid' ORDER BY thread.threadid DESC LIMIT $flimit"); $res_news=mysql_fetch_array($news); do { if(strlen($res_news[title])>$zfor) { $res_news[title]=substr($res_news[title], 0, $zfor); $res_news[title]=$res_news[title]."..."; } if(strlen($res_news[pagetext])>$zdesc) { $res_news[pagetext]=substr($res_news[pagetext], 0, $zdesc); $res_news[pagetext]=$res_news[pagetext]."..."; } echo date("d.m.Y",$res_news[dateline])."<br>"; echo "<a href=\"http://{$url}/showthread.php?t=".$res_news[threadid]."\" target=\"_blank\"><b>".$res_news[title]."</b></a><br>"; echo $res_news[pagetext]."<br><br>"; } while($res_news=mysql_fetch_array($news)); ?> Вот написал вывод новостей с раздела для своего сайта, может пригодится кому, попроще выглядит немного 
Последний раз редактировалось SplaTe; 23.06.2008 в 06:18.
|
| | | 4 пользователя(ей) отблагодарили SplaTe за это сообщение: | |
07.07.2008, 08:10
|
#8 (permalink)
| | Новичок
Специализация: Переводчик Регистрация: 29.05.2008 Сообщений: 6 Репутация: 2  568504 | Ответ: Unhappy Админам - Вывод новостей с форума SplaTe, ругается код на mysql_fetch_array. пробовал менять на mysql_fetch_row тот же результат. Как видно ниже выводит только дату Цитата: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/leostr/public_html/forum/index3.php on line 17
01.01.1970 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/leostr/public_html/forum/index3.php on line 33 Версия PHP5.2.5 Версия MySQL4.1.22-standard-log Операционная система Linux
Последний раз редактировалось Лео; 07.07.2008 в 08:33.
|
| | |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | | | | Опции темы | | | | Опции просмотра | Линейный вид |
Ваши права в разделе
| Вы не можете создавать новые темы Вы не можете отвечать в темах Вы не можете прикреплять вложения Вы не можете редактировать свои сообщения | | | Часовой пояс GMT +3, время: 23:24.
vBulletin® версия 7.6.1. Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Web Mastering By Devil Art |  |