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

Форум MySQL

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

 

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

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

тема: Возможен ли запрос?
 
 автор: linux_hak   (16.11.2010 в 00:34)   письмо автору
 
 

запрос "SELECT id FROM tbl WHERE title LIKE '%Текущий ремонт%'"
находит в базе по title="Текущий ремонт помещений Центр гигиены и эпидемиологии"; и выводит id этого титла

так вот как мне найти обратный id
в базе $title="Текущий ремонт";

нужно найти id этого title по запросу "Текущий ремонт помещений Центр гигиены и эпидемиологии"
т.е. выводит id title, где title из БД содержится в $zapros="Текущий ремонт помещений Центр гигиены и эпидемиологии";

  Ответить  
 
 автор: neadekvat   (16.11.2010 в 13:51)   письмо автору
 
   для: linux_hak   (16.11.2010 в 00:34)
 

Мягко говоря, нихера не понятно.
Еще раз и по-русски. Только не надо снова то же самое писать, ок? А то просишь понятнее объяснить - а те будто копируют предыдущий пост.

  Ответить  
 
 автор: linux_hak   (16.11.2010 в 19:26)   письмо автору
 
   для: neadekvat   (16.11.2010 в 13:51)
 

еще раз попробую объяснить.

нужен запрос поиска.
$searchword="автозапчасти";

запрос очень прост: "SELECT `id` , `title` FROM `tbl` WHERE `title` LIKE '%$searchword%'"
находим $id=1, $title="куплю автозапчасти в москве";

нужен такой запрос:
$searchword="куплю автозапчасти в москве";

"SELECT `id` , `title` FROM `tbl` WHERE `title` LIKE '%$searchword%'"
находим $id=1, $title="автозапчасти";

т.е. если $title в таблице содержится в $searchword, то выводим результат.

  Ответить  
 
 автор: Trianon   (16.11.2010 в 19:41)   письмо автору
 
   для: linux_hak   (16.11.2010 в 19:26)
 

Вас быстрее поймут, если Вы таки будете выражаться не на веселой помеси php и SQL, а только на одном языке - SQL.
Понимаете, вот это вот...
> $title в таблице содержится в $searchword
... оно выносит мозг, при чем сразу и навсегда.
В таблицах нет переменных. В них есть поля.

  Ответить  
 
 автор: linux_hak   (16.11.2010 в 19:59)   письмо автору
 
   для: Trianon   (16.11.2010 в 19:41)
 

mysql> SELECT * FROM tbl_name WHERE title LIKE '%value%';
выполняет поиск value в title

нужно чтобы был поиск, где title содержится в value

  Ответить  
 
 автор: Trianon   (16.11.2010 в 20:08)   письмо автору
 
   для: linux_hak   (16.11.2010 в 19:59)
 

бог мой...
Вы про то что вам нужно не
SELECT * FROM tbl_name WHERE title LIKE '%value%'
или что то же самое что и
SELECT * FROM tbl_name WHERE LOCATE(value, `title`)

а вместо этого нужно
SELECT * FROM tbl_name WHERE LOCATE(`title`, value)

ну или если value - переменная величина из php, то
<?
$value 
".....";
$value_str "'".mysql_real_escape_string($value)."'";
$sql "SELECT * FROM tbl_name WHERE LOCATE(`title`, $value_str)";


?!

  Ответить  
 
 автор: linux_hak   (25.11.2010 в 14:14)   письмо автору
 
   для: Trianon   (16.11.2010 в 20:08)
 

вот спасибо! Самое то!
многое узнал, еще раз спасибо!

  Ответить  
 
 автор: neadekvat   (16.11.2010 в 20:19)   письмо автору
 
   для: linux_hak   (16.11.2010 в 19:26)
 

То есть, если от пользователя пришел поисковой запрос "куплю автозапчасти в москве", вам надо в базе найти запись, у которой заголовок "автозапчасти"?
Если так - то, во-первых, это можно было сказать намного проще (какие еще обратные id?), во-вторых, просто разбиваете запрос по словам (очевидно, через пробел) - и в запрос подставляете эти слова. Т.е. WHERE col LIKE 'some' OR col LIKE 'some2'...

  Ответить  
 
 автор: linux_hak   (16.11.2010 в 21:20)   письмо автору
 
   для: neadekvat   (16.11.2010 в 20:19)
 

а если несколько слов? не подходит OR

  Ответить  
 
 автор: neadekvat   (16.11.2010 в 21:29)   письмо автору
 
   для: linux_hak   (16.11.2010 в 21:20)
 

И почему же не подходит, интересно?

  Ответить  
 
 автор: linux_hak   (16.11.2010 в 22:04)   письмо автору
 
   для: neadekvat   (16.11.2010 в 21:29)
 

"куплю автозапчасти в москве оптом", вам надо в базе найти запись, у которой заголовок "автозапчасти оптом" - подходит

"куплю автозапчасти в москве", вам надо в базе найти запись, у которой заголовок "автозапчасти оптом" - не подходит, т.к. в запросе нет "оптом"

  Ответить  
 
 автор: neadekvat   (16.11.2010 в 22:08)   письмо автору
 
   для: linux_hak   (16.11.2010 в 22:04)
 

Я так понимаю, это вы сами так решили, даже не попробовав?

  Ответить  
 
 автор: Gubichev   (16.11.2010 в 17:23)   письмо автору
 
   для: linux_hak   (16.11.2010 в 00:34)
 

Что есть "обратный id"?

  Ответить  
Rambler's Top100
вверх

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