Забыли пароль?
Запросите новый здесь.

Автор темы: Vova
ID темы: 1119
Информация:
Тема содержит 31 сообщения, была просмотрена 6805 раз.
Просмотр темы
PHP-Fusion Russia » Поддержка 7 версии » Моды
 Распечатать тему
Похожые новости для фюжена.
Vova
Загрузить источник  GeSHi: PHP
  1. $keywords_string = "";
  2. $var = $data['news_subject'];
  3. $keywords = split(' ', $var);
  4. $num_keywords = count($keywords);
  5. for ($i=0; $i<$num_keywords; $i++) {
  6. if ($i) {
  7. $keywords_string .= "OR tf.news_subject LIKE '".$keywords[$i]."%' ";
  8. } else {
  9. $keywords_string = "tf.news_subject LIKE '%".$keywords[$i]."%' ";
  10. }
  11. }
  12.  
  13. $result3 = dbquery("
  14. SELECT tf.news_id, tf.news_subject, tf.news_datestamp, u.user_name, u.user_id, u.user_flag
  15. FROM ".DB_NEWS." tf
  16. LEFT JOIN ".DB_USERS." u ON u.user_id=tf.news_name
  17. WHERE (".$keywords_string.") AND tf.news_subject != '".$data['news_subject']."'
  18. ORDER BY news_datestamp DESC LIMIT 5
  19. ");
  20.  
  21. echo "<table width='100%' cellpadding='0' cellspacing='1' border='0' class='tbl' style='padding: 1em 0em 0.8em 0em;'>\n";
  22. echo "<tr>\n<td colspan='5' class='forum-caption' style='text-align:left'>Похожие новости</td>\n</tr>\n";
  23. echo "<tr>\n";
  24. if (dbrows($result3) != 0) {
  25. echo "<td class='tbl2' align='center'>Название</td>\n";
  26. echo "<td class='tbl2' align='center'>Добавил</td>\n";
  27. echo "<td class='tbl2' align='center'>Добавлено</td>\n";
  28. echo "</tr>\n";
  29. while($data2 = dbarray($result3)) {
  30. $itemsubject = trimlink($data2['news_subject'], 38);
  31. echo "<tr>\n";
  32. echo "<td width='55%' class='tbl1'>".THEME_BULLET." <a href='".BSFURL.news($data2['news_id'])."' title='".$data2['news_subject']."' class='side'>$itemsubject</a></td>\n";
  33. echo "<td width='17%' class='tbl1' align='center'>".profile_link($data2['user_id'], $data2['user_name'])."</td>\n";
  34. echo "<td width='27%' class='tbl1' align='center'>".showdate("newsdate", $data2['news_datestamp'])."</td>\n";
  35. echo "</tr>\n";
  36. }
  37. } else {
  38. echo "<td class='tbl1' colspan='5' style='text-align:center'>Нет материалов</td></tr>\n"; }
  39. echo "</table><br>\n";
  40.  
Добавлено за 0.040 секунд, используя GeSHi 1.0.8.10


Если хотите еще ыстрее сделать можно заменить LIKE на MATCH AGANIST. И поле news_subject и добавить индекс FULL_TEXT.
x1
 
Web
bari-bari
в какой файл(как называется) это код вставить.
ясно где выводится полная новость.
поверхностно я изучал фьюжен.
 
Vova
Ставиш в файл где есть полная новость.
 
Web
Rush
Загрузить источник  GeSHi: PHP
  1.  
  2. $keywords = split(' ', $data['news_subject']);
  3. foreach ($keywords as $keyword) {
  4. $keywords_query = $keywords_query && $keywords_query != '' ? $keywords_query."OR tf.news_subject LIKE '".$keyword."%' " : "tf.news_subject LIKE '%".$keyword."%' ";
  5. }
  6.  
Добавлено за 0.031 секунд, используя GeSHi 1.0.8.10


когда это размножение говнокода закончится. бывает когда спешишь а впереди куча задач и не такое выдаешь. но нафига в паблик это Г выкладывать
 
Web
Rush
$result3, $data2, $data473287923, ска, называйте вещи своими именами раз пишете для людей
 
Web
Vova
Rush написал:

Загрузить источник  GeSHi: PHP
  1.  
  2. $keywords = split(' ', $data['news_subject']);
  3. foreach ($keywords as $keyword) {
  4. $keywords_query = $keywords_query && $keywords_query != '' ? $keywords_query."OR tf.news_subject LIKE '".$keyword."%' " : "tf.news_subject LIKE '%".$keyword."%' ";
  5. }
  6.  
Добавлено за 0.036 секунд, используя GeSHi 1.0.8.10


когда это размножение говнокода закончится. бывает когда спешишь а впереди куча задач и не такое выдаешь. но нафига в паблик это Г выкладывать


Долго думал? Приведи пример не говнокода. Приведи пример своего кода! Какие плагины или моды сделал. Давай.

Скачать исходники  Код
function func_text_words($sText,$iCountWords) {
   $aWords = preg_split('#[\s\r\n]+#um',$sText);
   if($iCountWords < count($aWords)){
      $aWords = array_slice($aWords,0,$iCountWords);
   }
   return join(' ', $aWords);   
}




Говнокод?
Изменил(а) Vova, 06.12.2012 17:34
 
Web
Razor
«Жи, ши — пиши через и»©
Работаю в vsemayki.ru...
x1
 
Rush
я тебе только что привел код, который в три раза меньше твоего и не содержит кучи ненужных действий. могу даже еще укоротить.
Загрузить источник  GeSHi: PHP
  1.  
  2. foreach (split(' ', $data['news_subject']) as $keyword) {
  3. $keywords_query = $keywords_query && $keywords_query != '' ? $keywords_query."OR tf.news_subject LIKE '".$keyword."%' " : "tf.news_subject LIKE '%".$keyword."%' ";
  4. }
  5.  
Добавлено за 0.041 секунд, используя GeSHi 1.0.8.10

пиписками меряться смысла не вижу
 
Web
Vova
Rush написал:

я тебе только что привел код, который в три раза меньше твоего и не содержит кучи ненужных действий. могу даже еще укоротить.
Загрузить источник  GeSHi: PHP
  1.  
  2. foreach (split(' ', $data['news_subject']) as $keyword) {
  3. $keywords_query = $keywords_query && $keywords_query != '' ? $keywords_query."OR tf.news_subject LIKE '".$keyword."%' " : "tf.news_subject LIKE '%".$keyword."%' ";
  4. }
  5.  
Добавлено за 0.042 секунд, используя GeSHi 1.0.8.10

пиписками меряться смысла не вижу


можно и весь код в одну строчку записать.
 
Web
Rush
количество строк отображает количество действий. можно и в одну записать, но мусора от этого не уменьшится
 
Web
Polarfox
Без флейма, тс, уважаем критику, учимся делать правильно и хорошо.


По нашим (PF) стандартам код должен быть лаконичным, удобным, понятным и легким, это и правда так.
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле.
Ежели кто забанен за спам, но не считает себя ботом: можете сообщить мне об этом, все будет хорошо.

PolarLab - вход для подопытных
x1
 
Web
Vova
PolarFox написал:

Без флейма, тс, уважаем критику, учимся делать правильно и хорошо.


Что значит ТС? Тему создал?
 
Web
jikaka
повторюсь! дальше, пожалуйста, без взаимных оскорблений и наездов!

 
Web
Polarfox
Vova, Topic Starter
http://ru.wiktion...0%B5%D1%80
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле.
Ежели кто забанен за спам, но не считает себя ботом: можете сообщить мне об этом, все будет хорошо.

PolarLab - вход для подопытных
 
Web
Tempter
Былож подобное

Скачать исходники  Код
opentable("Похожие новости");

$news_id = isnum($data['news_id']) ? $data['news_id'] : 0;
if($news_id){
   
list($news_subject) = dbarraynum(dbquery("SELECT news_subject from ".DB_NEWS." WHERE news_id=".$news_id.""));

$result = dbquery("
SELECT tt.news_id, tt.news_subject, tt.news_visibility, tt.news_datestamp, tt.news_draft, tf.news_cat_id, tf.news_cat_name
FROM ".DB_NEWS." tt
INNER JOIN ".DB_NEWS_CATS." tf ON tt.news_cat=tf.news_cat_id
WHERE MATCH (news_subject) AGAINST ('".$news_subject."' IN BOOLEAN MODE) AND news_id != ".$news_id." ORDER BY tt.news_sticky DESC, tt.news_datestamp DESC LIMIT 4"
);

if(dbrows($result)){

$i = 0;
while($data = dbarray($result)){
$itemsubject = trimlink($data['news_subject'], 40);
echo "<a href='".BASEDIR."news.php?readmore=".$data['news_id']."' title='".$data['news_subject']."' class='side'>· ".$itemsubject."</a><br><br>\n";
}
} else {
echo "Нет похожих новостей";
}

closetable();



допилил как надо и радуйся...
x1 x1
 
lucky
Оффтопик а для статей есть подобное?
 
Tempter
Скачать исходники  Код
opentable("Похожие статьи");

$article_id = isnum($data['article_id']) ? $data['article_id'] : 0;
if($article_id){
   
list($article_subject) = dbarraynum(dbquery("SELECT article_subject from ".DB_ARTICLES." WHERE article_id=".$article_id.""));

$result = dbquery("
SELECT tt.article_id, tt.article_subject, tt.article_datestamp, tt.article_draft, tf.article_cat_id, tf.article_cat_name
FROM ".DB_ARTICLES." tt
INNER JOIN ".DB_ARTICLE_CATS." tf ON tt.article_cat=tf.article_cat_id
WHERE MATCH (article_subject) AGAINST ('".$article_subject."' IN BOOLEAN MODE) AND article_id != ".$article_id." ORDER BY tt.article_datestamp DESC LIMIT 4"
);

if(dbrows($result)){

$i = 0;
while($data = dbarray($result)){
$itemsubject = trimlink($data['article_subject'], 40);
echo "<a href='".BASEDIR."articles.php?article_id=".$data['article_id']."' title='".$data['article_subject']."' class='side'>· ".$itemsubject."</a><br><br>\n";
}
} else {
echo "Нет похожих статей";
}

closetable();


x2 x1
 
lucky
Tempter, благодарю
 
bari-bari
Tempter, скобку одну пропустил.
из-за этого ошибка Parse error: syntax error, unexpected $end in
правильно так
Скачать исходники  Код
 }
 }
 } else {
 echo "Нет похожих новостей";
 }

 closetable();




но пишет везде Нет похожих новостей
не может быть такое.

скрипт Vova и Rush пока не проверял
 
Tempter
не не не... я ничего не пропускал! Код рабочий с сайта взял..без согласия хозяина! Исходный код не мой - это раз! Два - я писал
допилил как надо и радуйся...
Три - неотменял гуглю! В 10ятых у меня нет сайта под fusion`ом и мне сложновато гадать, работает или нет)
в 11ых - скобку не сложно поставить? зато знания....
спросили, я дал код. Вроде не чем не обязан

bari-bari ты пару лет назад искал подобное и нашёл! мог бы поделиться правельным кодом)

зы: пишет там где нет категории, в код глянь!
Изменил(а) Tempter, 07.12.2012 20:30
 

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Темы Форум Ответов / Просмотров Последние сообщения
Bogatyr - бесплатный сборник плагинов и модов для PHP-Fusion 7.00 (можно 7.01)  →  Моды 5 / 774 21.11.2017 17:14
Посоветуйте как можно больше дешёвых хостингов для лендингов  →  Хостинг 3 / 555 30.09.2017 18:44
Видео плагин для php fusion 7.01.xx  →  Плагины 42 / 17839 21.08.2017 19:49
Как правильно загрузить свой шрифт в css для всех браузеров?  →  Темы оформления 7 версии 12 / 5441 04.08.2017 10:06
Подскажите хостинг для форума на vBulletin  →  Хостинг 5 / 3256 01.08.2017 08:23
Фермы для майнинга криптовалюты  →  Реклама на портале 1 / 479 07.07.2017 06:20
С какой CMS легче всего тырить темы для PHP-Fusion?  →  Темы оформления 7 версии 0 / 2491 11.06.2017 10:01
Как массово удалить присланные новости?  →  Вопросы новичков 7 / 4878 06.06.2017 12:10
Нужна платная тема для движка v7.02.07  →  Платные услуги 1 / 449 05.06.2017 06:02
Для каждой доп страницы свой текст в шапке  →  Народное творчество 8 / 6678 14.04.2017 21:02
Топ 5 пользователей форума
Alex Alex (1,171)   Zaxap Zaxap (1,078)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)