PHP поиск с категориями - PullRequest
0 голосов
/ 14 июня 2011

Я хотел, чтобы пользователи фильтровали запросы по категориям

У меня есть 3 PHP-файла.Один с именем searchbycity.php, searchbystate.php и значением по умолчанию search.php

У меня вопрос, как бы я его настроить, чтобы я мог щелкнуть переключатель и панель поиска знала, какой файл phpискать с этой информацией?

Вот как у меня до сих пор выложена вся кнопка с переключателем

<input type='text' size='70' name='search'> 
<input type='image' value='search' src='images/tickmark.png'></a><br>
  Search by &nbsp;
<input type="radio" onclick="eng = this.value;" checked name="sengines"
  value="http://www.google.com/search?q=" />
  City
<input type="radio" onclick="eng = this.value;" name="sengines"
  value="http://www.altavista.com/web/results?q=" />State

(Игнорируйте поиск Google и поиск AltaVista, я получил его с веб-сайта: P)

1 Ответ

1 голос
/ 14 июня 2011

Вы могли бы написать этот HTML-код (обратите внимание на подстановку значений строк радиосвязи целыми числами):

<form action="search.php" method="GET">
   <input type='text' size='70' name='search'> 
   <input type='image' value='search' src='images/tickmark.png'></a><br>
     Search by &nbsp;
   <input type="radio" onclick="eng = this.value;" checked name="sengines"
    value="1" />
    City
   <input type="radio" onclick="eng = this.value;" name="sengines"
    value="2" />State
   <input type="submit" />
</form>

Когда пользователь нажмет кнопку отправки, будет выполнена страница search.php (на стороне сервера). Эта страница может содержать следующий код:

<?php
   if(is_integer($_GET['sengines']) && is_string($_GET['search'])){

       switch($_GET['sengines']){

          case 1: include_once "searchbycity.php";
                  searchByCity($_GET['search']);
                  break;

          case 2: include_once "searchbystate.php";
                  searchByState($_GET['search']);
                  break;

       }

   }
?>

Таким образом, если пользователь выбрал первую радио-кнопку, файл searchbycity.php и гипотетическая функция с именем searchByCity , присутствующая в файле, будут называться проходящими значение $ _GET ['search'], отправленное формой. Иначе, будет включен файл searchbystate.php и ... логика будет аналогичной.

Обратите внимание: данные, отправляемые формой, должны быть обработаны с помощью функций фильтра . В коде есть первый уровень проверки с использованием функций is_integer и is_string.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...