有条不紊地检查搜索结果

时间:2013-09-10 07:08:19

标签: php javascript jquery html search

我正在尝试创建自定义搜索框,并想知道如何根据不同的输入检查多个条件。有2个输入。

  1. 普通搜索代码(搜索我们提供的输入)
  2. 类别下拉菜单(根据类别名称搜索)
  3. 我想对每个foll场景进行不同的条件检查 -

    1. 搜索按钮必须能够选择搜索字符串或从下拉菜单中选择的类别,然后提供搜索结果。

    2. 如果提供了两者(意味着有人在搜索框中键入了一个名称并选择了一个类别) - 框中的搜索关键字必须优先,并且结果应显示该字符串(不是类别)页)

    3. 如果选择了类别,但搜索框中未输入任何内容;然后必须显示相应的类别页面。

    4. 好的,希望能解释我想要做的事情。所以这是我到目前为止的代码:

      <form role="search" method="get" id="searchform" action="http://www.sitename.com/">
      <label class="screen-reader-text" for="s">
      </label>
      <input type="text" value="" name="s" id="s" align="right" />
      <label for="category">Select Your Category</label>
      <input class="selectcategorydropdown" type="hidden" id="category" />
      <select name="s" id="category" onchange="getSelectedValue();">
          <option value="">none</option>
          <option value="cat1">category1</option>
          <option value="cat2">category2</option>
          <option value="cat3">category3</option>
          <option value="cat4">category4</option>
      </select>
      <input type="submit" id="searchsubmit" value="Search" align="right" />
      </form>
      
      <script type="text/javascript">
          function getSelectedValue() {
              var index = document.getElementById('category').selectedIndex;
              ("value=" + document.getElementById('category').value);
              ("text=" + document.getElementById('category').options[index].text);
          }  
      </script>
      

      ,最后一部分是javascript代码,它有助于传递使用下拉菜单选择的类别值。

      下面的代码会起作用吗?

      <?php
                    if (!empty($_POST['search'])) { //if there is something in search_text
           if (empty($_POST['searchform']))  {
                //search by text
             } else {
                //combined text and category search
              }
      } else  { //if there is nothing in search_text
             if (!empty($_POST['category']))  {
                // search by category
               }  else  {
                // error - no data in either $_POST['search'] or $_POST['category']
               }
      } ?>
      

0 个答案:

没有答案