Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вывод похожих названий (title)

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
riv
Отправлено: 10 Февраля, 2012 - 15:00:23
Post Id



Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Сент. 2011  
Откуда: Краснодар


Помог: 0 раз(а)




Доброго времени всем!!!

Есть страница на сайте в который выводится контент с определенным названием.
Как вывести несколько ссылок на другой материал с похожим названием как у показанного?

допустим есть таблица с такими полями.
id, title, ntext, datetime

Заранее простите если не правильно поставил вопрос
 
 Top
LIME
Отправлено: 10 Февраля, 2012 - 15:07:03
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




покурите LIKE в mysql
 
 Top
riv
Отправлено: 10 Февраля, 2012 - 15:07:41
Post Id



Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Сент. 2011  
Откуда: Краснодар


Помог: 0 раз(а)




Я пытаюсь вывести таким способом.
PHP:
скопировать код в буфер обмена
  1. $search_h=$title;
  2.         $searchs=explode(" ",$search_h);
  3.         if (count($searchs)>4){
  4.                 $search_h=null;
  5.                         for ($i=0; $i<4; $i++) {
  6.                         $search_h.=$searchs[$i]." ";
  7.             }
  8.                         $search_h = substr($search_h,0,(strlen($search_h)-1));
  9.                 }
  10.                      $search_h=trim(ereg_replace("[[:space:]]+(([^[:space:]]){1,5})[[:space:]]+",' '," $search_h "));
  11. $resSel = mysql_query("SELECT `id`, `title` FROM table where title LIKE '%_". str_replace(" ", "_%' or '%_", $search_h). "_%' ");
  12. while($row = mysql_fetch_array($resSel)){
  13.         $idPage[] = $row ['id'];
  14. }
  15. $dispayPageId = array();
  16. $countPage=10;
  17. for($i=0;$i<$countPage;$i++){
  18.         $dispayPageId[]  = $idPage[rand(0,count($idPage)-1)];
  19. }
  20. $dispayPageId = implode(", ",$dispayPageId);
  21. $vquery =mysql_query("SELECT * FROM table WHERE id IN ($dispayPageId) AND UNIX_TIMESTAMP(datetime)<'$korrekt_time'");
  22. while($row = mysql_fetch_array($vquery)){
  23. $masivss['nums']=$row['id'];
  24. echo "<a href='".linc_get($nma,'stat',$masivss)."' title='"._UPLO_PROCHEST_POLNOSTU_." ".$row['title']."'>- ";
  25.         if (strstr($search_h," ")){
  26.                 $words  = explode(" ", $search_h);
  27.                 $highlight = str_replace(" ", "|", $search_h);
  28.                 $row['title']=ereg_replace($highlight," <b> \\0 </b> ",$row['title']);
  29.         } else {
  30.                 $words[0]=$search_h;
  31.                 $row['title']=str_replace($search_h," <b> $search_h </b> ",$row['title']);
  32.         }
  33. echo $row['title']."</a><br />"; // вывод
  34. }

Впринцепе выводит но как то все грустно и криво. зашел в тупик решил обратиться к ГУРУ!
 
 Top
LIME
Отправлено: 10 Февраля, 2012 - 15:11:52
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT title FROM `table` WHERE title LIKE "%чтототам%"
проценты значат что на их месте могут быть любые символы в любом количестве
 
 Top
riv
Отправлено: 10 Февраля, 2012 - 15:15:16
Post Id



Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Сент. 2011  
Откуда: Краснодар


Помог: 0 раз(а)




т.е. убрать нижнее подчеркивание? _
(Добавление)
не не катит если я убираю его мне выводится тот title что и открыто

(Отредактировано автором: 10 Февраля, 2012 - 15:16:59)

 
 Top
LIME
Отправлено: 10 Февраля, 2012 - 15:20:37
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




я писал последний пост еще не прочитав вашего кода
вы LIKE используете
остальное завит от логики вашего приложения
выводите запрос
может не то реплэйсит что ожидаете
не зная логики как-то лениво и бесполезно код читать
 
 Top
riv
Отправлено: 10 Февраля, 2012 - 15:22:19
Post Id



Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Сент. 2011  
Откуда: Краснодар


Помог: 0 раз(а)




Тот код что я привел выше выводит вот таким образом

Открыта страница с таким title
Portable TuneUp Utilities 12.0.1200.2

а вывод в как на картинке, но я точно знаю что есть название с 100% совпадением если не брать в расчет цифры а выводятся только по Portable ....
Прикреплено изображение (Нажмите для увеличения)
1.JPG
 
 Top
Viper
Отправлено: 10 Февраля, 2012 - 16:00:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Наверное все же так

CODE (SQL):
скопировать код в буфер обмена
  1. LIKE 'Portable TuneUp Utilities 12.0.1200.2%'


В вашем случае ваш код приводит все к каше вида

CODE (SQL):
скопировать код в буфер обмена
  1. LIKE '%_Portable%_TuneUp_%Utilities%_12.0.1200.2_%'

у mysql от такого мозги аж наружу лезут Улыбка

(Отредактировано автором: 10 Февраля, 2012 - 16:00:37)



-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
riv
Отправлено: 10 Февраля, 2012 - 17:37:35
Post Id



Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Сент. 2011  
Откуда: Краснодар


Помог: 0 раз(а)




Если быть точнее приводит вот к такому

CODE (SQL):
скопировать код в буфер обмена
  1. LIKE '%_Portable_% or %_TuneUp_% or %_Utilities_% or %_12.0.1200.2_%'


Если ставить как в вашем примере он будет искать точную фразу + то то что после фразы

(Отредактировано автором: 10 Февраля, 2012 - 17:39:23)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB