PHP-如何根据日期范围输入显示结果
下表显示了项目名称、项目的签入和签出日期时间及其数量。从数据库中检索结果。(这些值仅用于示例) 在另一个页面中有第二个表,我想显示项目名称、日期和总数量。我想做的是根据用户输入的日期范围在第二个表中显示结果。除此之外,我想根据签入和签出流程自动计算数量。例如,若项目签入,则项目的数量将与该项目的当前数量相加。若项目签出,则该项目的数量将从该项目的当前数量中减去 第二个表的预期结果如下所示: a) 例如,用户输入日期范围(从2015年10月10日到2015年10月12日) 日期范围输入是从两个输入框(date from和date To)获得的,我使用Jquery datepicker。但是,当我按日期范围提交时,不会显示任何内容。问题是,数据库中有两个datetime字段,分别是checkIn和checkOut,我只想根据用户输入的日期范围显示DATE,而不管是签入还是签出。目前,当我提交任何日期范围时,都不会显示结果。所以,我的问题是,如何根据输入的日期范围显示结果并自动计算总量 这就是我到目前为止所做的:PHP-如何根据日期范围输入显示结果,php,jquery,mysql,date,datetime,Php,Jquery,Mysql,Date,Datetime,下表显示了项目名称、项目的签入和签出日期时间及其数量。从数据库中检索结果。(这些值仅用于示例) 在另一个页面中有第二个表,我想显示项目名称、日期和总数量。我想做的是根据用户输入的日期范围在第二个表中显示结果。除此之外,我想根据签入和签出流程自动计算数量。例如,若项目签入,则项目的数量将与该项目的当前数量相加。若项目签出,则该项目的数量将从该项目的当前数量中减去 第二个表的预期结果如下所示: a) 例如,用户输入日期范围(从2015年10月10日到2015年10月12日) 日期范围输入是从两个输入
<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>