2012-01-08 2 views
0

У меня есть страница PHP, в которой отображаются результаты запроса базы данных пользователей для сайта классифицированного объявления. Пользователь инициирует поиск на домашней странице и выбирает параметры поиска с помощью полей выбора, а затем отправляется форма.Как добавить функцию поиска результатов поиска на страницу результатов

Как только на странице результатов мне нужно разрешить пользователю изменять параметры поиска, используя поле выбора в стороне страницы (те же самые на домашней странице). Как я могу сделать выбор, выбранный в каждом поле выбора, соответствующим тому, что было выбрано на первой странице. то есть, если пользователь выбирает make: Audi и Model: A8. Я хочу, чтобы выпадающий список для модели и модели отображал все остальные параметры, но перед тем, как выбрать «A», выбран вариант «Audi» и «Модель», выбранный для A8.

Я знаю об использовании опции, выбранной для полей выбора в инструкции select, но как я могу взять оператор выбора, который уже был закодирован для страницы результатов, и вставить выбранную переменную для параметра, который должен быть выбран первым.

Надеюсь, это имеет смысл. Я не размещал никакого кода, потому что я ищу идеи, а не исправляю проблему с кодом.

ответ

0

Когда пользователь отправляет форму поиска, все переменные, размещенные в форме, доступны вам через $ _POST или $ _GET. Используйте эти переменные для повторной выбор правильной информации в форме поиска на странице результатов.

<select name="model"> 
    <option value="a8" <?php echo (isset($_POST['model']) && $_POST['model'] == 'a8') ? 'selected' : ''; ?>>A8</option> 
</select> 

EDIT

Динамический способ базы данных:

<select name="model"> 
<?php 
$getRows = mysql_query("SELECT * FROM models"); 
while($row = mysql_fetch_assoc($getRows)) 
{ 
    echo '<option value="" ' . ((isset($_GET['model']) && $_GET['model'] == $row['model']) ? 'selected' : '') . '></option>'; 
} 
?> 
</select> 

Теперь вам нужно только одно, если заявление. Вы должны btw использовать параметры GET, чтобы пользователь имел возможность закладки результатов для последующего использования.

+0

Спасибо за ваш ответ. Какое влияние это окажет на время загрузки страницы, если операторы для каждого параметра? Всего около 12 ящиков для выбора, по 20 вариантов для каждого. – MaxK

+0

Цитирование этих коротких списков не повлияет на время загрузки для пользователя-клиента, но ваш код будет довольно уродливым со всеми этими операциями if. – Marle1

+0

В вашем случае я бы рассмотрел выборку списков из базы данных, что упростило бы ваш код. Я отредактировал свой ответ, чтобы показать вам пример. – Marle1

Смежные вопросы