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 :: Проблема с поиском

 PHP.SU

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


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

> Описание: не правильно работает поиск
inkor
Отправлено: 06 Ноября, 2011 - 13:55:06
Post Id


Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Янв. 2008  


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




Здравствуйте, столкнулся со следующей проблемой:
есть база статей об автомобилях в ней две таблицы 1я - список марок, 2я- статьи, заголовки картинки и тд.

на сайте должна быть структура по маркам, делаю через поиск

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  
  3. //id $marka получаем из ссылки
  4. if (isset($_GET['marka'])) {$marka = $_GET['marka']; }
  5. if (!isset ($marka) or empty($marka)) {$marka = 1;}
  6.  
  7.  
  8. //Выбираем марки из базы
  9.            $result_marka = mysql_query ("SELECT marka FROM marki WHERE id='$marka'",$db);
  10. $myrow_marka = mysql_fetch_array ($result_marka);
  11.         $marka1 = $myrow_marka['marka'];
  12. //поиск
  13.  $result = mysql_query ("SELECT id,title,teaser,img FROM articles WHERE MATCH(title) AGAINST('$marka1') ORDER BY (id) DESC",$db);
  14. $myrow = mysql_fetch_array ($result);
  15.  
  16.  


поиск работает, НО если искать допустим "mazda", а в заголовке статьи написано "mazda2", то запрос эту статью не найдет. Как составить запрос правильно, чтобы он находил такие заголовки?
 
 Top
Bio man
Отправлено: 06 Ноября, 2011 - 13:59:46
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


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




"SELECT id,title,teaser,img FROM articles WHERE title LIKE '*{$marka1}*' ORDER BY (id) DESC"

(Отредактировано автором: 06 Ноября, 2011 - 14:02:07)

 
 Top
inkor
Отправлено: 06 Ноября, 2011 - 15:11:24
Post Id


Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Янв. 2008  


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




не срабатывает, LIKE '%$marki1%' тоже не работает

(Отредактировано автором: 06 Ноября, 2011 - 15:12:55)

 
 Top
Bio man
Отправлено: 06 Ноября, 2011 - 17:37:03
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


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




Цитата:
$marki1

Цитата:
$marka1 = $myrow_marka['marka'];
 
 Top
inkor
Отправлено: 07 Ноября, 2011 - 10:48:29
Post Id


Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Янв. 2008  


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




LIKE '%$marka1%' тоже не работает

в чем может быть причина? может в запросе использовать регулярные выражения?
 
 Top
sKaa
Отправлено: 07 Ноября, 2011 - 10:55:57
Post Id



Частый посетитель


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


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

[+]


CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM articles WHERE title LIKE '%$marka%' ORDER BY id DESC

во первых попробуй SELECT *, мб ты пытаешься выделить столбцы которых вовсе нету.
во вторых я бы убрал (id) в ORDER BY

(Отредактировано автором: 07 Ноября, 2011 - 10:57:01)

 
 Top
inkor
Отправлено: 09 Ноября, 2011 - 16:56:28
Post Id


Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Янв. 2008  


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




странно, если задаю явно

PHP:
скопировать код в буфер обмена
  1.     SELECT * FROM articles WHERE title LIKE '%mazda%' ORDER BY id DESC


то находит, а если через переменную,

PHP:
скопировать код в буфер обмена
  1.     SELECT * FROM articles WHERE title LIKE '%$marka1%' ORDER BY id DESC


то нет, кодировки совпадают, ILIKE тоже не работает ни на денвере ни на хостинге

(Отредактировано автором: 09 Ноября, 2011 - 18:39:03)

 
 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