Liska07 0 Опубликовано: 14 июня 2007 Рассказать Опубликовано: 14 июня 2007 Ситуация такая: Необходимо использовать на сайте несколько похожих модулей ( Последние комментарии и Топ комментариев ) Всё правельно делаю..но вместе они не функционируют..тоесть в main.tpl прописиваю в одно место {top-coment} в другое {lastcom} работает только {top-coment} ...на месте же {lastcom} просто пустое место..при удалении же {top-coment} отображается {top-coment} Я так понимаю это связанно с похожими запросами на БД.. Можно ли как-то решить эту проблему? Заранее Спасибо. Цитата Ссылка на сообщение Поделиться на других сайтах
IRON MAIDEN 2 Опубликовано: 14 июня 2007 Рассказать Опубликовано: 14 июня 2007 можно... давай код обеих модулей Цитата Ссылка на сообщение Поделиться на других сайтах
gva 0 Опубликовано: 14 июня 2007 Рассказать Опубликовано: 14 июня 2007 быстрее всего идет пересечение переменных в обоих модулях Цитата Ссылка на сообщение Поделиться на других сайтах
IRON MAIDEN 2 Опубликовано: 14 июня 2007 Рассказать Опубликовано: 14 июня 2007 вот я и говорю... выложите код.... сталкивался с таким, когда невнимательно переделывают один мод в другой! Цитата Ссылка на сообщение Поделиться на других сайтах
Liska07 0 Опубликовано: 14 июня 2007 Рассказать Опубликовано: 14 июня 2007 Автор <?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&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&user=".urlencode($row['name'])."\">".$row['name']."</a>"; $top_coment .= " <tr> <td><img src=\"{THEME}/images/medal_$wal_mesto.gif\"> </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; ?> Только если можно обьясните в чём проблема..чтоб в дальнейшем не возникало проблем с похожей ситуацией.. Заранее спасибо. Цитата Ссылка на сообщение Поделиться на других сайтах
Al-x 7 Опубликовано: 14 июня 2007 Рассказать Опубликовано: 14 июня 2007 Lisa, рекомендую вообще отказатся от второго мода Количество запросов мода к БД не впечатлило. Никаких дыр или грандиозных ляпов я не вижу, однако лично я бы сделал гораздо проще и обощёлся бы одним запросом. Не знаю, я так сходу пересечения переменных не заметил (хотя я смотрел мельком). Цитата Ссылка на сообщение Поделиться на других сайтах
Liska07 0 Опубликовано: 14 июня 2007 Рассказать Опубликовано: 14 июня 2007 Автор у меня и с другими подобная проблема..обьясните пожалуйста... есть ли унивнерсальный метод..решения проблемы? Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.