Перейти к публикации

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

Ситуация такая:

Необходимо использовать на сайте несколько похожих модулей ( Последние комментарии и Топ комментариев )

Всё правельно делаю..но вместе они не функционируют..тоесть в main.tpl прописиваю в одно место {top-coment} в

другое {lastcom} работает только {top-coment} ...на месте же {lastcom} просто пустое место..при удалении же

{top-coment} отображается {top-coment}

Я так понимаю это связанно с похожими запросами на БД..

Можно ли как-то решить эту проблему?

Заранее Спасибо.

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

<?php

/*

=====================================================

 Файл: top_coment.php

-----------------------------------------------------

 Назначение: вывод количества коментаиев участников Лучшие коментаторы

=====================================================

*/


if(!defined('DATALIFEENGINE'))

{

  die("Hacking attempt!");

}


$sql_users = $db->query("SELECT user_id, name, top_comm, user_group FROM " . PREFIX . "_users WHERE user_group >= 2 AND top_comm >= 1 ORDER BY top_comm DESC LIMIT ".$config['comm_limit']."");


		$top_coment = "

		<table cellpadding=0 cellspacing=0 class='slink'>";


		$wal_mesto=0;

		while($row = $db->get_row($sql_users))

	{

		$wal_mesto++;


		if ($config['allow_alt_url'] == "yes") {


		$go_page = "href=\"".$config['http_home_url']."user/".urlencode($row['name'])."/\"";


	} else {


		$go_page = "href=\"$PHP_SELF?subaction=userinfo&amp;user=".urlencode($row['name'])."\"";


	}


	$go_page = "onClick=\"return dropdownmenu(this, event, UserMenu('".htmlspecialchars($go_page)."', '".$row['user_id']."', '".$member_id['user_group']."'), '170px')\" onMouseout=\"delayhidemenu()\"";


		if ($config['allow_alt_url'] == "yes")

				$user_name = "<a {$go_page} href=\"".$config['http_home_url']."user/".urlencode($row['name'])."/\">".$row['name']."</a>";

		else

						$user_name = "<a {$go_page} href=\"$PHP_SELF?subaction=userinfo&amp;user=".urlencode($row['name'])."\">".$row['name']."</a>";



		$top_coment .= "

		<tr>

			  <td><img src=\"{THEME}/images/medal_$wal_mesto.gif\">&nbsp;&nbsp;</td>

			  <td width='100' style='padding-left:10px; padding-top:20px;'>{$user_name}</td>

			  <td style='padding-top:20px;'>(<b>{$row['top_comm']}</b>)</td>

		</tr>";


		}

$top_coment .= "</table>


";


?> 
<?

/////////////////////////////////////////////////////////

//=====================================================//

//Создано Lobster, ICQ: 314838011					  //

//-----------------------------------------------------//

//e-mail адрес: admin@warezs.info					  //

//WEB-site	: http://www.warezs.info				 //

//-----------------------------------------------------//

//Copyright (c) Lobster								//

//=====================================================//

//Данный скрипт защищен авторскими правами			 //

//=====================================================//

//Назначение модуля: показывает последние коментарии   //

//=====================================================//

/////////////////////////////////////////////////////////

//Настроечки небольшие

$comm_num = 5; //Лимит коментариев выводимых в блоке

$hint = "yes"; //Высвечивать подсказку с текстом коммента при наведении мышки или нет (yes,no)


//////////////////

//Дальше незнающему лучше не трогать

//////////////////

////////////////////////////////////

//Формируем функции которые обеспечат нас ссылками на новости и на юзеров в зависимости от настройки ЧПУ

$conf_url = $config['allow_alt_url'];

function lastcomm_getscript()

{

  $script = file_get_contents(ENGINE_DIR."/skins/default.js");


  return "<script>".$script."

  </script>

  <style>

#hintbox {

 text-align:left;

 width:150px;

 font-size: 10px;

 border: 1px solid #000000;

 background-color: #FFFFFF;

 -moz-opacity: 0.9;

 filter:alpha(opacity=\"90\");

 layer-background-color:#a396d9;

 color:#282828;

 z-index: 3;

 margin: 0px 15px 0px 0px;

 -moz-border-radius:5px;

margin: 10px 0 0 10px;

padding:3px 5px;

position:absolute;

visibility:hidden;

z-index: 3;

}

</style>

";

}

function link_user($user)

{

global $conf_url;

	if ($conf_url == "yes")

	{

	$link_user = "http://". $_SERVER['HTTP_HOST'] ."/user/".$user;

	}

	else

	{

	$link_user = "http://". $_SERVER['HTTP_HOST'] ."/index.php?subaction=userinfo&user=".$user;

	}

return $link_user;

}

function link_news()

{

global $conf_url;

	if ($conf_url == "yes")

	{

	$link_news = "http://". $_SERVER['HTTP_HOST'] ."/";

	}

	else

	{

	$url = $news_id;

	$link_news = "http://". $_SERVER['HTTP_HOST'] ."/index.php?newsid=";

	}

return $link_news;

}


////////////////////////////////

//Создаем запрос к базе данных на вывод комментов

$query_comm_temp = "SELECT * FROM " . PREFIX . "_comments ORDER BY date DESC LIMIT " . $comm_num.";";

$query_comm = $db->query($query_comm_temp);

///////////////////////////////

//Выводим комментарии в цикле


while ($comment = $db->get_row($query_comm))

{

$comment_tpl = "<table border=0 cellpadding=0 cellspacing=0 padding=20><tr><td>От ";

$comment_tpl .= "<a href=". link_user($comment['autor']).">". $comment['autor']."</a> в новости:</td></tr><tr><td>";

	//Запрос к базе данных на вывод новостей принадлежащих к комментам

$query_news_temp =	"SELECT * FROM ". PREFIX ."_post WHERE id=". $comment['post_id'] .";";

$query_news = $db->query($query_news_temp);

	//////////////////////////////

	//Выводим новость принадлежащую этому комменту

	while ($novost = $db->get_row($query_news))

	{

	$novost['date'] = strtotime($novost['date']);

		if ($conf_url == "yes") {

		$ssilka = date("Y/m/d/", $novost['date']).$novost['alt_name'].".html"; 

		}

		else {

		$ssilka = $novost['id'];

		}

		$comment_text = htmlspecialchars($comment['text']);

		if ($hint == "yes") $hint_show = "onMouseover=\"showhint('<b>Комментарий:</b><br>".$comment_text."', this, event, '200px')\"";

		$comment_tpl .= lastcomm_getscript()."<a href=\"".link_news().$ssilka."\"". $hint_show .">".$novost['title']. "</a><br>------------------------------------</td></tr></table>";

	}

$ready_tpl .= $comment_tpl;

}


$lastcomment = "------------------------------------</br><b>Последние комментарии:</b></br>".$ready_tpl; 

?> 

Только если можно обьясните в чём проблема..чтоб в дальнейшем не возникало проблем с похожей

ситуацией..

Заранее спасибо.

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

Lisa, рекомендую вообще отказатся от второго мода :) Количество запросов мода к БД не впечатлило. Никаких дыр или грандиозных ляпов я не вижу, однако лично я бы сделал гораздо проще и обощёлся бы одним запросом. Не знаю, я так сходу пересечения переменных не заметил (хотя я смотрел мельком).

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

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...