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

Форум MySQL

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

 

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

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

тема: Поиск в записях средствами MySQL
 
 автор: DDK   (18.11.2005 в 15:15)   письмо автору
 
 

Извиняюсь за плохое знание MySQL, но меня заинтересовал такой вопрос - можно ли составить запрос так, что бы он выводил только те записи, в которых, допустим, в колонке text содержится определённый текст (банальное строгое соответствие) ?

   
 
 автор: multiBrain   (18.11.2005 в 15:38)   письмо автору
 
   для: DDK   (18.11.2005 в 15:15)
 


<?
$text
='текст';
$db=mysql_query('SELECT * FROM some_tbl WHERE text="'.$text.'"');
$res=mysql_fetch_array($db);
for(
$i=0$i mysql_num_rows$i++)
{
echo 
$res['some_col'];
}
?>

Вопрос только в том какой длины у вас текст: если значительный, то может лучше с помощью LIKE или REGEXP

   
 
 автор: DDK   (18.11.2005 в 17:33)   письмо автору
 
   для: multiBrain   (18.11.2005 в 15:38)
 

Мдя... вопрос понят неправильно... Упомянув о стогом соответствии, я имел в виду не то, что искомый текст строго эквивалентен содержанию поля в таблице. Да и основной мыслью вопроса было - как осуществить поиск средствами mysql, а не PHP.

   
 
 автор: cheops   (18.11.2005 в 22:42)   письмо автору
 
   для: DDK   (18.11.2005 в 17:33)
 

Всё равно не понятно, что имеется ввиду, я бы ответил также как и multiBrain - поиск по WHERE-условию. Может примерчик? Что есть и что должно получиться на выходе?

   
 
 автор: DDK   (18.11.2005 в 22:55)   письмо автору
 
   для: cheops   (18.11.2005 в 22:42)
 

если задавать WHERE условие, то WHERE выводит только те строки таблицы, в которой значение определённой колонки строго равно искомому, т.е. как равенство строк в конструкции IF:
If($a == $b) {}

А мне нужно осуществить поиск строк в таблице, но что бы выбирались те строки, значение определённого поля которых не строго равно искомому слову, а содержало его, т.е. как:
If(strpos($a, $b)) {}

Т.е. образно говоря, запрос должен выглядеть как-то так:

SELECT * FROM tablename WHERE strpos('colummnname', 'searchingtext')

Теперь ясно ? :)

   
 
 автор: DDK   (18.11.2005 в 23:11)   письмо автору
 
   для: DDK   (18.11.2005 в 22:55)
 

Так... умный человек сказал, что искомое мной будет выглядеть так:

SELECT * FROM tablename LIKE colummnname='searchingtext'

Так чта всем спасибо, тема закрыта :)

   
Rambler's Top100
вверх

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