PHP满足搜索条件

时间:2013-08-08 07:55:34

标签: php search if-statement conditional-statements

我在PHP入门级别,所以我真的不明白该怎么做。

这个网站就像一个短篇小说提交页面

首先我有search.php该页面允许用户使用多种条件搜索故事记录,例如内容包含的内容,所以我有: storySearch.php

<table border="1">
    <tr>
       <td>Include:
          <select name="optionContent">
             <option value="Yes">Yes</option>
             <option value="No">No</option>
          </select>
       </td>
       <td>Story content contains: <input type="text" name="contains" /></td>
    </tr> 
    <tr>
       <td>Include:
          <select name="optionNum">
             <option value="Yes">Yes</option>
             <option value="No">No</option>
          </select>
       </td>
       <td> Number of words:<b> from </b> <input type="text" name="minWord" style="width: 25px;"><b> from </b>
          <input type="text" name="maxWord" style="width: 25px;" />
       </td>
    </tr>
</table>
<input type='submit' value='Submit' />

和....提交我删除了一些代码

问题在于发布到的页面,doStorySearch.php

如果每个include选项都是Yes,我需要将它包含在我的数据库的搜索条件中。 如果和其他声明似乎是方式,但我不知道如何。这就是我的doStorySearch.php

   <?php
        $checkContent = $_POST['optionContent'];
        $checkNum = $_POST['optionNum'];
        if ($checkContent == 'yes') {
            $content = $_POST['contains'];
            echo $content;
        }
        else if( $checkNum == 'Yes') {
            $NumS = $_POST['minWord'];
            $NumE = $_POST['maxWord'];
            echo $NumS."And". $NumE;
        }

我不明白这部分之后该怎么办。是否还有其他?任何帮助将不胜感激!提前谢谢!

1 个答案:

答案 0 :(得分:0)

你真的有一百种方法可以做到。

我会和布尔人一起工作,即使仍然有一些重复,但它避免了大部分:

$checkContent = $_POST['optionContent'] == 'yes';
$checkNum     = $_POST['optionNum'] == 'yes';

if ($checkContent && $checkNum) {
    // Do both
    }
else if ($checkContent) {
    // only content
    }
else if ($checkNum) {
    // only numbers
    }
else {
    // error checking
    }

这是否足够清楚?布尔人一开始可能不直观,但一旦理解,他们确实使你的代码清晰可读。

如果您计划使用SQL,请记住清理输入。