我有一个使用PHP显示所有数据的查询然后我有第二个使用startdate和enddate进行过滤的查询但是当我使用第二个查询时,数据表显示第一个查询输出加上第二个查询输出。
这是我的代码。
以下是我对第一个输出的查询:
<?php
session_start();
$con=mysqli_connect("localhost","root","","leavecalendar");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql = mysqli_query($con,"SELECT * FROM timekeeping ");
while($row = mysqli_fetch_array($sql))
if(!empty($row)){
$_SESSION['row'][] = $row;
header("location:timekeepinglogs.php");
//print_r($_SESSION);
}
//header("location:timekeepinglogs.php");
//print_r($_SESSION);
?>
以下是结果的截图:
现在,这是由生成按钮
触发的第二个查询<?php
session_start();
$row = $_SESSION['row'];
$con=mysqli_connect("localhost","root","","leavecalendar");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql = mysqli_query($con,"SELECT * FROM timekeeping WHERE createddate >= '$_POST[startdate]' AND createddate <='$_POST[enddate]' ");
while($row = mysqli_fetch_array($sql))
if(!empty($row)){
$_SESSION['row'][] = $row;
//header("location:timekeepinglogs.php");
//print_r($_SESSION);
}
header("location:timekeepinglogs.php");
//print_r($sql);
?>
现在这里是第二个查询的作用(注意在第一个图片中最后一行有空时钟)我使用日期范围过滤它可能2到5可能因此它应该只显示3行。看看
如您所见,只需选择日期范围内的数据并将其显示在数据表的底部。我只想显示过滤后的数据。
非常感谢任何帮助。
答案 0 :(得分:1)
可能您要在表中的每个请求中附加数据,因此您需要清除每个新请求的会话数据
假设您要按日期搜索,之后您需要使用
清除会话数据unset($_SESSION['row']);