Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: ошибка в поиске
 
 автор: FaStY   (19.02.2006 в 19:47)   письмо автору
 
 

Вот запрос, почему-то выводит, только, если я введу в поисковом запросе одну букву($searchword равна одной букве :()

<?php

//подключение к базе данных
include ('../utils/config.php');
$id_forum $_GET['id_forum'];
  
$id_theme $_GET['id_theme'];


//составление запроса    
      
$query "SELECT * FROM posts  
WHERE MATCH(name) AGAINST('*
$searchword*' IN BOOLEAN MODE);  ";
  
$result mysql_query ($query)
    or die (
"Query failed1");
//проверка поиска
$pgs mysql_query($query); 
  if(!
$pgs
  { 
     echo 
"Ошибка в синтаксисе запроса"
     exit(); 
  } 
  
// Если результат поиска не пуст выводим ссылки на статьи 
  
if(mysql_num_rows($pgs)>1
  { 
     while(
$id mysql_fetch_array($pgs)) 
     { 
      
$query1 "SELECT * FROM themes WHERE id_theme=$id[id_theme]";
  
$result1 mysql_query ($query1)
    or die (
"Query failed1");
//проверка поиска
$pgs1 mysql_query($query1); 
$ida mysql_fetch_array($pgs1);
     
        echo 
"<a href=showtopic.php?id_theme=$id[id_theme]&id_post=$id[id_post]&searchword=$searchword> статья в теме: $ida[name]</a><br>"
     } 
  } 

?>

подскажите, как сделать, чтобы выполнялся запрос и при слове и если в поиске будет 2 слова

   
 
 автор: cheops   (19.02.2006 в 21:44)   письмо автору
 
   для: FaStY   (19.02.2006 в 19:47)
 

А вы можете убрать звёздочке и в описании поиска сказать, чтобы посетители сами звёздочки ставили - всё будет работать.

   
 
 автор: FaStY   (19.02.2006 в 23:50)   письмо автору
 
   для: cheops   (19.02.2006 в 21:44)
 

а если мне нужен поиск по двум словам, чтобы хоть одно из них показывалось при поиске? как в этом случае поступить?

   
 
 автор: cheops   (20.02.2006 в 01:35)   письмо автору
 
   для: FaStY   (19.02.2006 в 23:50)
 

А полнотекстовый поиск устроен таким образом, что если найдёт хоть один намёк на любое из слов - обязательно выдаст результат, только с меньшей релевантностью, т.е. результат будет добавлен в конец, если не используется сортировка по какому-то другому параметру.

   
 
 автор: FaStY   (20.02.2006 в 11:35)   письмо автору
 
   для: cheops   (20.02.2006 в 01:35)
 

блин, дело в том, что даже когда я убираю *, у меня все равно он ищет только по одной букве :( может что-нибудь другое предложите?

   
 
 автор: dina   (20.02.2006 в 11:56)   письмо автору
 
   для: FaStY   (20.02.2006 в 11:35)
 

Посмотри ссылку
http://softtime.ru/forum/read.php?id_forum=3&id_theme=12337&page=4
Там elenaki дала мне код поиска, я переделала, все работает

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования