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

Форум MySQL

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

 

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

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

тема: вывод результата поиска из базы данных
 
 автор: Michail_G   (22.04.2008 в 12:30)   письмо автору
 
 

Есть такая форма:
<form action=oformf.php method=post>
<input name="search" type="text" value="">
<input name=doSearch type="submit" value="Поиск">
</form>
Есть такой обработчик:
<?php
require_once("config.php");
if(isset($_POST["doSearch"]))
{
if (trim($search)=="")
{
$a= mysql_query ("SELECT * FROM sot WHERE (Name LIKE '%$search%') AND (Family LIKE '%$search%')");
echo "<b>Ваш запрос на :</b> $search<br>";// КАК МНЕ ПРАВИЛЬНО ВЫВЕСТИ РЕЗУЛЬТАТ НА ЭТОЙ ЖЕ СТРАНИЧКЕ, чтобы выводил результат запроса, а то так ничего не выводит...
}
else
{
echo "<b>Вы ничего не ввели в поле поиска</b>";
}
}
?>
Помогите пожайлуста! может у кого-то есть другой способ...

   
 
 автор: Valick   (22.04.2008 в 12:57)   письмо автору
 
   для: Michail_G   (22.04.2008 в 12:30)
 

SELECT * FROM sot WHERE (Name LIKE '%$search%') AND (Family LIKE '%$search%')

это вы откуда взяли?

   
 
 автор: Valick   (22.04.2008 в 13:12)   письмо автору
 
   для: Valick   (22.04.2008 в 12:57)
 

<?php 
require_once("config.php");
if(isset(
$_POST["doSearch"]))
{
if (empty(
$search))
{
echo 
"<b>Вы ничего не ввели в поле поиска</b>";
}
else
{
$search=trim($search);
$query="SELECT * FROM sot WHERE name= '$search' OR family='$search'";
echo 
"<b>Ваш запрос :</b>"$search."<br>";
$res=mysql_query($query);
    while (
$mass=mysql_fetch_array($res))
    {
             echo (
$mass['name']." - ".$mass['family']."<br>");
             }
}
?>


А так? надеюсь таблица sot, а в ней поля name и family существует и подключение к базе выцполняется.

   
 
 автор: olejek   (22.04.2008 в 13:17)   письмо автору
 
   для: Valick   (22.04.2008 в 12:57)
 

Вообще-то эта строка вполне работоспособна.
$a= mysql_query ("SELECT * FROM sot WHERE (Name LIKE '%$search%') AND (Family LIKE '%$search%')");


Другое дело, может вы имели в виду вместо AND - OR

   
 
 автор: Valick   (22.04.2008 в 13:29)   письмо автору
 
   для: olejek   (22.04.2008 в 13:17)
 

Я имел ввиду это:
%$search%


Не переменная для шаблона ли?

   
 
 автор: olejek   (22.04.2008 в 14:10)   письмо автору
 
   для: Valick   (22.04.2008 в 13:29)
 

При чем здесь шаблон?
из мануала:

With LIKE you can use the following two wildcard characters in the pattern: 

Character Description 
% Matches any number of characters, even zero characters 
_ Matches exactly one character 

mysql> SELECT 'David!' LIKE 'David_';
        -> 1
mysql> SELECT 'David!' LIKE '%D%v%';
        -> 1

P.S. Вернее шаблон-то то тут при чем, но, наверное, не тот, который вы имели ввиду

   
 
 автор: Valick   (22.04.2008 в 14:17)   письмо автору
 
   для: olejek   (22.04.2008 в 14:10)
 

Действительно имел ввиду другое, поэтому и спросил.
Еслиб я ещё и английский знал) но суть примерно понял.
% - число или буква или отсутствие таковой
_ - одна буква
правильно?
конструкция вида
...%".$search."%...

менябы столку не сбила.
(мне простительно я не программист:) )

   
Rambler's Top100
вверх

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