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

Форум MySQL

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

 

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

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

тема: Логика в организации поиска... подскажите
 
 автор: virtus   (13.09.2005 в 12:08)   письмо автору
 
 

Как верно организовать поиск по сайту!
Есть база в которой кучу таблиц! Как организовать в них поиск? Какие есть способы? Делать супер-какие-то сложные запросы в кучах таблиц (но как я выведу тогда нужныю страницу)? или есть какой-то другой способ?
Поделитесь опытом

   
 
 автор: Artemy   (13.09.2005 в 14:15)   письмо автору
 
   для: virtus   (13.09.2005 в 12:08)
 

Методик очень много! Как правило она выберается конкретно к проекту!
Самая простая это производит запрос к каждой таблице БД, если соответствие нашлось, то выводить его!
<?PHP
 $query 
mysql_query("SELECT * FROM table WHERE name REXEXP '".$str."' ORDER BY name");
 if(
mysql_num_rows($query) > 0)
  {
  while(
$result mysql_fetch_array($query))
    {
    echo 
$result['name'];
    }
  }
?>

   
 
 автор: cheops   (13.09.2005 в 14:36)   письмо автору
 
   для: virtus   (13.09.2005 в 12:08)
 

Если вы создаёте кучу таблиц, придётся по всей куче искать - ничего не поделаешь. Обычно прибегают к полнотекстовому поиску. Вот темы по поиску которые могут быть вам интересны
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=514
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=148
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=807
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=6620
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=5311
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=4699
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=3696
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=4797
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=3923

   
 
 автор: virtus   (13.09.2005 в 15:12)   письмо автору
 
   для: cheops   (13.09.2005 в 14:36)
 

спасибо!
только вопрос в след. допустим я сделал поиск по всем таблицам!
а что с отображением результатов? Допустим в таблице NEWS есть совпавший текст - как я выведу ссылку на эту страницу? вот этого я не пойму...

   
 
 автор: Boss   (13.09.2005 в 17:48)   письмо автору
 
   для: virtus   (13.09.2005 в 15:12)
 

//page - имя столбца в табл news
$sql = "select * from news where page = 'news'";
$res = mysql_query($sql);
$num_res = mysql_num_rows($res);
for ($i=0; $i < $num_res; i++)
{
$row = mysql_fetch_array($res);
echo htmlspcialchars($row['page']).'<br />';
}

Это имелось введу?

   
Rambler's Top100
вверх

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