Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用日期范围和复选框搜索SQL_Php_Sql_Search_Checkbox - Fatal编程技术网

Php 使用日期范围和复选框搜索SQL

Php 使用日期范围和复选框搜索SQL,php,sql,search,checkbox,Php,Sql,Search,Checkbox,我一直在尝试开发一个代码,其中有一个表单可以根据日期范围和复选框状态搜索SQL表 我已经计算出了日期的搜索查询,但是我还不能使用复选框。我想在一个搜索中结合这两个功能,但我想不出来 例如:在“01/01/2012”和“12/31/2012”之间搜索,其中状态为“完成!(复选框=选中)” 以下是我用来进行搜索的代码: 形式 <form method = "post" action = "<?php echo $_SERVER['PHP_SELF'];?>">

我一直在尝试开发一个代码,其中有一个表单可以根据日期范围和复选框状态搜索SQL表

我已经计算出了日期的搜索查询,但是我还不能使用复选框。我想在一个搜索中结合这两个功能,但我想不出来

例如:在“01/01/2012”和“12/31/2012”之间搜索,其中状态为“完成!(复选框=选中)

以下是我用来进行搜索的代码:

形式

<form method = "post" action = "<?php echo $_SERVER['PHP_SELF'];?>">
        <table>
            <tr>
                <td style="text-align:center; padding-top:15px;">
                    <span>From&nbsp:</span>
                    <input type = "date" name = "OLD">
                    To:
                    <input type = "date" name = "NEW">
                    Status:
                    <input type='checkbox' name='Status' value='DONE'/>
                </td>
            </tr>
            <tr>
                <td style="text-align:center; padding-top:15px;">
                    <button type = "submit" name = "search" value = "Search" class="button orange">Search</button>
                    <button type = "reset" value = "Clear" class="button orange">Reset</button>
                </td>   
            </tr>
        </table>
    </form>


您可以这样做:

else
{
    $OLD = trim($_POST['from']);
    $NEW = trim($_POST['to']);
    $status = isset($_POST['Status']) ? "AND status = 'DONE' " :"AND status = 'NOT DONE' ";

    $connection = mysql_pconnect("HOST", "USER", "PASS") or die("Connection failed. ".myslq_error());
    mysql_select_db("DATABASENAME") or die("Unable to select db. ".mysql_error());
    $query = "SELECT * FROM table WHERE Date >= '$OLD' AND Date <= '$NEW' ".$status."ORDER BY date ASC";
    $result = mysql_query($query) or die(mysql_error());
else
{
$OLD=修剪($_POST['from']);
$NEW=修剪($_POST['to']);
$status=isset($_POST['status'])?“状态='DONE'”:“状态='notdone'”;
$connection=mysql_pconnect(“主机”、“用户”、“通过”)或die(“连接失败”。.myslq_error());
mysql_select_db(“DATABASENAME”)或die(“无法选择db。”.mysql_error());

$query=“SELECT*FROM table WHERE Date>=“$OLD”和Date我认为查询组合必须是这样的:

$query = "SELECT * FROM table WHERE 1 = 1 "
if ($_POST['MyCheckbox']=="checked")
  $query = $query . " and Date >= '$OLD' AND Date <= '$NEW' ORDER BY date ASC";
$query=“从表中选择*,其中1=1”
如果($_POST['MyCheckbox']==“选中”)

$query=$query。“日期>=“$OLD”和日期$QueryTanks中没有状态检查!这使它的一部分起作用了!太棒了!问题是,当复选框未选中时,搜索仍然显示状态,完成和未完成。当复选框未选中时,是否仍要使搜索仅显示未完成的状态?您的答案请告诉我很好,到了我想去的地方!非常感谢!太棒了!它达到了我想要达到的目标!这绝对是我做我想做的事情的起点。非常感谢@sephoy08
$query = "SELECT * FROM table WHERE 1 = 1 "
if ($_POST['MyCheckbox']=="checked")
  $query = $query . " and Date >= '$OLD' AND Date <= '$NEW' ORDER BY date ASC";