PHP搜索/类别

时间:2011-06-13 22:57:39

标签: php javascript search

我希望用户按类别过滤搜索

我有3个PHP文件。一个名为searchbycity.phpsearchbystate.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 个答案:

答案 0 :(得分:1)

您可以编写此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 文件,并且...逻辑将是模拟的。

注意:必须使用filter functions对表单发送的数据进行清理。在代码中,使用is_integer和is_string函数进行第一级检查。