|
|
|
| Извиняюсь за плохое знание MySQL, но меня заинтересовал такой вопрос - можно ли составить запрос так, что бы он выводил только те записи, в которых, допустим, в колонке text содержится определённый текст (банальное строгое соответствие) ? | |
|
|
|
|
|
|
|
для: 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 | |
|
|
|
|
|
|
|
для: multiBrain
(18.11.2005 в 15:38)
| | Мдя... вопрос понят неправильно... Упомянув о стогом соответствии, я имел в виду не то, что искомый текст строго эквивалентен содержанию поля в таблице. Да и основной мыслью вопроса было - как осуществить поиск средствами mysql, а не PHP. | |
|
|
|
|
|
|
|
для: DDK
(18.11.2005 в 17:33)
| | Всё равно не понятно, что имеется ввиду, я бы ответил также как и multiBrain - поиск по WHERE-условию. Может примерчик? Что есть и что должно получиться на выходе? | |
|
|
|
|
|
|
|
для: cheops
(18.11.2005 в 22:42)
| | если задавать WHERE условие, то WHERE выводит только те строки таблицы, в которой значение определённой колонки строго равно искомому, т.е. как равенство строк в конструкции IF:
А мне нужно осуществить поиск строк в таблице, но что бы выбирались те строки, значение определённого поля которых не строго равно искомому слову, а содержало его, т.е. как:
Т.е. образно говоря, запрос должен выглядеть как-то так:
SELECT * FROM tablename WHERE strpos('colummnname', 'searchingtext')
|
Теперь ясно ? :) | |
|
|
|
|
|
|
|
для: DDK
(18.11.2005 в 22:55)
| | Так... умный человек сказал, что искомое мной будет выглядеть так:
SELECT * FROM tablename LIKE colummnname='searchingtext'
|
Так чта всем спасибо, тема закрыта :) | |
|
|
|