[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: проблемы с поиском по бд
tania88-88
Здравствуйте! у меня вот какая проблема
у меня есть бд, в ней несколько таблиц
но у меня не получается правильно организовать поиск! помогите!
вот сам скрипт поиска


$db = mysql_connect('localhost','root','');

mysql_select_db('arenda', $db);
mysql_query('SET character_set_database = utf8');
mysql_query('SET NAMES utf8');

$text = $_POST['poisk'];
$text = strtolower($text);



if ($_POST['ok'])
{

$result = mysql_query ("SELECT * FROM arenda WHERE (locate('$text',lower(title)) > 0)

UNION SELECT * FROM arenda WHERE (locate('
$text',lower(text)) > 0)")
or die (mysql_error ());

$db_arenda = mysql_fetch_array($result);

echo "
<br>
<left><font size=5 style='font-style:italic; color: #3300FF' ><b>Результаты поиска:

</b></font></left> "
;

$nums = mysql_num_rows ($result);
if ($nums == "0" || empty ($nums))
{
echo "<p style='font-style:italic; color: #3300FF'>По
Вашему запросу ничего не найдено!</p>"
;
}
else

echo "<p style='font-style:italic; color:#3300FF'>По Вашему запросу найдено $nums записей</p> <br>";


$i=0;

do

{


echo "<p align = justify>".$db_arenda['title']."</p>
<p align = justify>"
.$db_arenda['text']."</p>";
$i++;


}



while ($db_arenda = mysql_fetch_array($result));

}




Спустя 1 час, 17 минут, 1 секунда (28.07.2010 - 16:09) sergeiss написал(а):
tania88-88 - просьба оформлять код специальными тэгами. Так он намного лучше читается. И с табуляторами поаккуратнее smile.gif Пришлось мне их чистить, иначе код "танцевал" весь.

PS. И еще. Иди сначала в тему http://phpforum.ru/index.php?showtopic=21916, почитай, как с БД работать ПРАВИЛЬНО. И забудь про цикл do-while при выборке данных из БД, забудь про эту "поповщину и бесовщину" wink.gif

Спустя 4 часа, 51 минута, 24 секунды (28.07.2010 - 21:01) linker написал(а):
А можно вопрос? Какая необходимость в таком вот странном запросе?
SELECT * FROM arenda WHERE (locate('$text',lower(title)) > 0)
UNION
SELECT * FROM arenda WHERE (locate('$text',lower(text)) > 0)
Ведь человечество изобрело такие вещи как: and, or, not. Ну хотя бы как минимум:
SELECT * FROM arenda WHERE title LIKE '%$text%' or text LIKE '%$text%'

Спустя 7 минут, 27 секунд (28.07.2010 - 21:08) Basili4 написал(а):
linker
Человечество изобрело но Попову об этом никто не доложил. К упущение-с. -1 Человечеству
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.