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

Форум MySQL

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

 

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

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

тема: Помогите с поиском по таблице MySQL
 
 автор: maxfade   (12.03.2008 в 15:34)   письмо автору
 
 

Добрый день, есть вопрос по поводу поиска.

Есть таблица "news" состоящая из следующих столбцов:

Название    Тип поля
поля
           
autor    varchar(20)
name    varchar(20)
otchestvo    varchar(20)
url_pict    tinytext
cat_id    int(11)
uin    varchar(4)
post    varchar(32)
oklad    varchar(6)
intro    varchar(250)
rekom    varchar(250)
perevod    varchar(250)
putdate    datetime
adddate    varchar(10)
deldate    varchar(10)
reason    varchar(250)    
pol    varchar(1)
birth_date    varchar(10)
obrazov    varchar(250)
speciality    varchar(250)
language    varchar(250)
comp    varchar(250)
web    varchar(250)
personal    varchar(250)
hobbi    varchar(250)
bad    varchar(250)
body    varchar(500)    
address    varchar(250)
tel_dom    varchar(15)
tel_mob    varchar(15)
email    varchar(64)    
telefonia    varchar(20)
domen    varchar(20)


Форма для поиска такая:


<form name=form enctype='multipart/form-data' action=search.php method=post>
    <table cellpadding="0" cellspacing="6" align="center" width="400px">
        <tr>
            <td class=table_list2>Поиск:</td>
            <td class=table_list2>По:&nbsp;
                 <select  name="pole">
                 <option value="autor,name,otchestvo,uin,post,oklad,rekom,perevod,
tel_mob,adddate,deldate,reason,pol,birth_date,obrazov,
speciality,language,comp,web,personal,hobbi,bad,address,
tel_dom,email,telefonia,domen,body,intro" selected>Всему</option>
                 <option value="autor">Фамилия</option>
                 <option value="uin">UIN</option>
                 <option value="domen">Домен</option>
                   </select>
            </td>
            <td class=table_list2><input maxlength="20" class="input" size="20" type="text" name="search"/></td>
        </tr>
    </table>
</form>



Скрипт следующий:


<?php

 $x 
mysql_query ("SELECT * FROM news WHERE MATCH ($_POST[pole])
                     AGAINST ('
$_POST[search]' IN BOOLEAN MODE);

         ;"
);
if (!
$x)
{
  echo 
"Ошибка в синтаксисе";
  exit();
}
if (@
mysql_result($xp))
{
echo 
$_POST[search]  есть";
}
else
{
echo 
$_POST[search]  нет";
}
?>



Вот только ищет немного коряво.

В таблице есть как цифры, так и буквы. Поиск идет только по буквам и причем если написано точная запись поля, т.е. не все совпадения, а только полное.

Как доработать скрипт до ума.

Если есть другие способы буду рад помощи.

Заранее спасибо!

   
Rambler's Top100
вверх

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