PDA

View Full Version : проблемы с формой поиска в бд


korefan
17.04.2007, 13:33
Помогите начинающему, плз!

Есть форма с селектором, добавляющая в БД объявление.
Код селектора:
<select name=edu size=1>
<option selected value=$edu>$edu</option>
<option value=Не&nbsp;важно>Не&nbsp;важно</option>
<option value=Высшее>Высшее</option>
<option value=Неполное&nbsp;высшее>Неполное&nbsp;высшее</option>
<option value=Среднее&nbsp;специальное>Среднее&nbsp;специальное</option>
<option value=Среднее>Среднее</option>
<option value=Учащийся>Учащийся</option>
</select>
В форме поиска такой же селектор.

<select name=sredu size=1>
<option selected value=%>Не важно</option>
<option value=Высшее>Высшее</option>
<option value=Неполное&nbsp;высшее>Неполное&nbsp;высшее</option>
<option value=Среднее&nbsp;специальное>Среднее&nbsp;специальное</option>
<option value=Среднее>Среднее</option>
<option value=Учащийся>Учащийся</option>
</select>
Однако выбрав значение "Высшее" я получаю все записи с таким значением из БД, а если выберу значение "Среднее специальное", то результат поиска ничего не дает.
Т.е. если в селекторе одно слово, то поиск дает результат, а если несколько слов, то результата нет вообще.

Поле edu в таблице БД имеет тип varchar(30).

Запрос на вывод данных у меня такой:
$result = @mysql_query("SELECT ...,edu,...FROM $mytable WHERE ...and edu LIKE '$sredu' ...");

Alexander-V-Sh
17.04.2007, 17:12
а есть ли в базе текс: Среднее&nbsp;специальное?
может там написано: Среднее пециальное

korefan
17.04.2007, 18:12
В базу записывается значение "Среднее специальное" без &nbsp;
Но заменив вручную пробел на &nbsp; в базе результат остался прежним.
Именно с пробелами похоже эта непонятка.

Оказывается все очень просто: нужно в селекторах форм ввода и поиска параметру value присвоить например цифровые значения. Т.е. для высшего 1, для среднего специального 2 и т.д.