Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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-如何根据日期范围输入显示结果_Php_Jquery_Mysql_Date_Datetime - Fatal编程技术网

PHP-如何根据日期范围输入显示结果

PHP-如何根据日期范围输入显示结果,php,jquery,mysql,date,datetime,Php,Jquery,Mysql,Date,Datetime,下表显示了项目名称、项目的签入和签出日期时间及其数量。从数据库中检索结果。(这些值仅用于示例) 在另一个页面中有第二个表,我想显示项目名称、日期和总数量。我想做的是根据用户输入的日期范围在第二个表中显示结果。除此之外,我想根据签入和签出流程自动计算数量。例如,若项目签入,则项目的数量将与该项目的当前数量相加。若项目签出,则该项目的数量将从该项目的当前数量中减去 第二个表的预期结果如下所示: a) 例如,用户输入日期范围(从2015年10月10日到2015年10月12日) 日期范围输入是从两个输入

下表显示了项目名称、项目的签入和签出日期时间及其数量。从数据库中检索结果。(这些值仅用于示例)

在另一个页面中有第二个表,我想显示项目名称、日期和总数量。我想做的是根据用户输入的日期范围在第二个表中显示结果。除此之外,我想根据签入和签出流程自动计算数量。例如,若项目签入,则项目的数量将与该项目的当前数量相加。若项目签出,则该项目的数量将从该项目的当前数量中减去

第二个表的预期结果如下所示:

a) 例如,用户输入日期范围(从2015年10月10日到2015年10月12日)

日期范围输入是从两个输入框(date from和date To)获得的,我使用Jquery datepicker。但是,当我按日期范围提交时,不会显示任何内容。问题是,数据库中有两个datetime字段,分别是checkIn和checkOut,我只想根据用户输入的日期范围显示DATE,而不管是签入还是签出。目前,当我提交任何日期范围时,都不会显示结果。所以,我的问题是,如何根据输入的日期范围显示结果并自动计算总量

这就是我到目前为止所做的:

<script>
$(function() {
       $( "#from" ).datepicker({ dateFormat: 'yy-mm-dd' });
       $( "#to" ).datepicker({ dateFormat: 'yy-mm-dd' });
    });
</script>

<label>Date From : </label>
<input name="from" id="from" type="text" value="<?php if(isset($_GET['from'])) echo $_GET['from']; ?>" placeholder="Select Date"  required />
<label>Date To : </label>
<input name="to" id="to" type="text" value="<?php if(isset($_GET['to'])) echo $_GET['to']; ?>" placeholder="Select Date"  required />
<input type="submit" value="SUBMIT" />

<table>
     <tr>
    <td>ITEM NAME</td>
    <td>DATE</td>
    <td>QUANTITY</td>
    </tr>
<?php
if(isset($_GET['from'])){
    $from = $_GET['from'];
    $to = $_GET['to'];
    $result = mysql_query("SELECT * FROM itemloc WHERE DATE(itemLocCheckIn) >= " . $from . " AND DATE(itemLocCheckIn) <=  " . $to . " OR DATE(itemLocCheckOut) >= " . $from . " AND DATE(itemLocCheckOut) <=  " . $to . "");
}

else{
    $result = mysql_query("SELECT * FROM itemloc");
}

$totalqty=array();
while($row = mysql_fetch_array($result)){
    $date=date($row['itemLocCheckIn']);
    $item=$row['itemNm'];

    if(!isset($totalqty[$item]))
    {
    $totalqty[$item] = 0;
    }
    if(is_null($row['itemLocCheckOut'])){
        $totalqty[$item]+= $row['itemLocQty'];
    }
    else{
        $totalqty[$item]-= $row['itemLocQty'];
    }
}

foreach($totalqty as $k1=>$v1){
    ?>  
<tr>
    <td><?php echo $k1;?></td>
    <td><?php echo $date;?></td>
    <td><?php echo $v1;?></td>
</tr>
<?php
}
?>
</table>

$(函数(){
$(“#from”).datepicker({dateFormat:'yy-mm-dd'});
$(“#to”).datepicker({dateFormat:'yy-mm-dd'});
});
日期:

Fwiw,如果in和out在单独的行上,我将有一个datetime列和一个in/outcolumn@Strawberry,不幸的是,我不能这样做,因为数据库是固定的。请检查解决方案是否适合您。如果in和out位于不同的行上,我将使用单个datetime列和in/outcolumn@Strawberry ,不幸的是,我不能这样做,因为数据库已修复请检查解决方案是否适合您
Item Name |      Date      | Total Quantity
----------|----------------|---------------
    A     |   10.10.2015   |       13
    B     |   10.10.2015   |       25
    A     |   12.10.2015   |       5
<script>
$(function() {
       $( "#from" ).datepicker({ dateFormat: 'yy-mm-dd' });
       $( "#to" ).datepicker({ dateFormat: 'yy-mm-dd' });
    });
</script>

<label>Date From : </label>
<input name="from" id="from" type="text" value="<?php if(isset($_GET['from'])) echo $_GET['from']; ?>" placeholder="Select Date"  required />
<label>Date To : </label>
<input name="to" id="to" type="text" value="<?php if(isset($_GET['to'])) echo $_GET['to']; ?>" placeholder="Select Date"  required />
<input type="submit" value="SUBMIT" />

<table>
     <tr>
    <td>ITEM NAME</td>
    <td>DATE</td>
    <td>QUANTITY</td>
    </tr>
<?php
if(isset($_GET['from'])){
    $from = $_GET['from'];
    $to = $_GET['to'];
    $result = mysql_query("SELECT * FROM itemloc WHERE DATE(itemLocCheckIn) >= " . $from . " AND DATE(itemLocCheckIn) <=  " . $to . " OR DATE(itemLocCheckOut) >= " . $from . " AND DATE(itemLocCheckOut) <=  " . $to . "");
}

else{
    $result = mysql_query("SELECT * FROM itemloc");
}

$totalqty=array();
while($row = mysql_fetch_array($result)){
    $date=date($row['itemLocCheckIn']);
    $item=$row['itemNm'];

    if(!isset($totalqty[$item]))
    {
    $totalqty[$item] = 0;
    }
    if(is_null($row['itemLocCheckOut'])){
        $totalqty[$item]+= $row['itemLocQty'];
    }
    else{
        $totalqty[$item]-= $row['itemLocQty'];
    }
}

foreach($totalqty as $k1=>$v1){
    ?>  
<tr>
    <td><?php echo $k1;?></td>
    <td><?php echo $date;?></td>
    <td><?php echo $v1;?></td>
</tr>
<?php
}
?>
</table>