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

Форум MySQL

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

 

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

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

тема: Сортировка результата поиска
 
 автор: l-mariachi   (28.04.2008 в 22:03)   письмо автору
 
 

Привет всем! Помогите, пжлста разобраться!
Вообщем я ищу следующим методом:

Ищу в двух столбцах seccontent и secruname:

$seektext=mysql_query("select * from sections where (seccontent like '%$poisk%') or (secruname like '%$poisk%') ;");
while($sec1=mysql_fetch_array($seektext)){
echo("$sec1['secruname'] <br>$sec1['seccontent']");
(ну с пробелами я разберусь, эт фигня, интересует следующее):

теперь надо каким-то способом??? (П О М О Г И Т Е !!!!):
1)Сосчитать, сколько раз встречается запрос в столбце seccontent
2)И отсортировать вывод результатов по убыванию (С того, где больше запрос встречается к тому, в котором меньше)...

Выручайте,друзья!

   
 
 автор: Axxil   (28.04.2008 в 23:41)   письмо автору
 
   для: l-mariachi   (28.04.2008 в 22:03)
 

Первый пункт простой:

<?php
$seektext
=mysql_query("select * from sections where (seccontent like '%$poisk%') or (secruname like '%$poisk%') ;");
$cnt 0;
while(
$sec1=mysql_fetch_array($seektext)){
  if(
strpos($sec1['seccontent'],$poisk) !== false$cnt++;
  echo(
"$sec1['secruname'] <br>$sec1['seccontent']");
}
echo 
"Фраза ".$poisk." в столбце seccontent встречается ".$cnt." раз ";
?>


а во втором пункте непонятно что значит "запрос больше встречается"

   
 
 автор: l-mariachi   (29.04.2008 в 09:38)   письмо автору
 
   для: Axxil   (28.04.2008 в 23:41)
 

Большое спасибо,ну я имею ввиду, надо отсортировать список результатов так, чтобы тот раздел (seccontent), в котором больше (По колличеству) найдено искомого запроса был первой строчкой, затем где меньше и так далее....

   
 
 автор: Axxil   (29.04.2008 в 10:04)   письмо автору
 
   для: l-mariachi   (29.04.2008 в 09:38)
 

Покажите структуру таблицы. И расшифруйте что значит "по количеству". По количеству чего? Букв?

   
 
 автор: l-mariachi   (29.04.2008 в 10:07)   письмо автору
 
   для: Axxil   (29.04.2008 в 10:04)
 

table sections:

nsec secruname secenname seccontent
primary key text text text

Простая до ужаса структура....
по колличеству найденных совпадений (че ввел короче)

   
 
 автор: Axxil   (29.04.2008 в 10:20)   письмо автору
 
   для: l-mariachi   (29.04.2008 в 10:07)
 

Тут проще использовать полнотекстовый поиск. Там можно автоматически ранжировать результаты по релевантности.

http://www.softtime.ru/forum/srch.php?id_forum=3&name=%EF%EE%EB%ED%EE%F2%E5%EA%F1%F2%EE%E2%FB%E9&numberthemes=30&srchwhere=1&id_forum=3&logic=1&send=%CD%E0%E9%F2%E8

   
 
 автор: web777   (29.04.2008 в 09:58)   письмо автору
 
   для: Axxil   (28.04.2008 в 23:41)
 

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

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

   
 
 автор: Axxil   (29.04.2008 в 10:05)   письмо автору
 
   для: web777   (29.04.2008 в 09:58)
 

В условиях не было ни слова про постраничное разбиение.

Вопросы надо решать по мере поступления, а не придумывать их самостоятельно :)

   
 
 автор: web777   (29.04.2008 в 10:11)   письмо автору
 
   для: Axxil   (29.04.2008 в 10:05)
 

извиняй, не подумал сразу)

   
 
 автор: l-mariachi   (29.04.2008 в 10:13)   письмо автору
 
   для: Axxil   (29.04.2008 в 10:05)
 

с постраничной навигацие позже разберусь...

   
Rambler's Top100
вверх

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