如何每周获取数据。只到星期一至下星期日
how to get data weekly. Only till Monday to Next Sunday
我编写了一个程序,我可以在其中获取过去 7 天的数据。但我希望我的数据应该在上周可见,而一周从星期一开始,到星期日结束。然后下周一开始。
所以我想如果今天是星期三,如果我点击周报告。然后它应该只获取到上周一的数据。就像(星期三、星期二、星期一)但我的系统计数完成 7 天。
这是我的代码。
date_default_timezone_set("EST");
$wdate = date('Y-m-d');
$wdate_to = $wdate;
$wdate_to = strtotime("-7 days", strtotime($wdate_to)); //-7 days for last week. -30 for last week
$wdate_to = date("Y-m-d", $wdate_to);
$wget_req = "SELECT * FROM `requests` WHERE `assign_date` between '$wdate_to' AND '$wdate' AND `assigned`=1";
$result = mysqli_query($dbc, $wget_req);
while ($res = mysqli_fetch_assoc($result)){
$driver_id = $res['assigned_driver_id'];
$req_id = $res['req_id'];
$req_title = $res['request_title'];
$req_price = $res['price'];
$req_time = $res['request_time'];
$req_date = $res['assign_date'];
$req_desc = $res['req_desc'];
$assigned = $res['assigned'];
$status = $res['req_status'];
$driver = $res['driver_name'];
$get_record = "SELECT * FROM `members` WHERE `Memberid`='$driver_id' AND `u_level`=3";
$res = mysqli_query($dbc, $get_record);
while($row = mysqli_fetch_assoc($res)){
$status = $row['u_status'];
}
?>
<tr class="gradeA">
<td><b><?php echo $driver ;?></b></td>
<td><?php echo $driver_id ;?></td>
<td><?php echo $req_date ;?></td>
<td><b><?php echo $wdate_to;?></b> ↔ <b><?php echo $wdate ;?></b></td>
<td class="center"><?php if($status == 1){echo '<a href="#" class="btn btn-danger btn-sm">Driver is not working. Deactivated</a>';}else if($status == 0){echo '<a href="#" class="btn btn-success btn-sm">Driver is Active. Working</a>';}?></td>
<td class="center"> <a href="weekly_report.php?driver_id=<?php echo $driver_id ;?>" class="btn btn-primary btn-sm">View Report</a>
</td>
</tr>
<?php } ?>
希望尽快得到帮助
你可以试试这个:
//Returns values 0-6, 0 (for Sunday) through 6 (for Saturday))
$currentDay = date('w') - 1;
//Your week start on Monday, so if today is Sunday, you need to adjust the value
if($currentDay < 0) {
$currentDay = 6;
}
$weekStartTimestamp = time() - $currentDay * 24 * 60 * 60;
$wdate_to = date("Y-m-d", $weekStartTimestamp);
试试这个,它可能对你有帮助
<?php
date_default_timezone_set("EST");
$wdate = date('Y-m-d',strtotime('monday this week'));
$wdate_to = $wdate;
$wdate_to = strtotime("-7 days", strtotime($wdate_to)); //-7 days for last week. -30 for last week
$wdate_to = date("Y-m-d", $wdate_to);
$wget_req = "SELECT * FROM `requests` WHERE `assign_date` between '$wdate_to' AND '$wdate' AND `assigned`=1";
$result = mysqli_query($dbc, $wget_req);
while ($res = mysqli_fetch_assoc($result)){
$driver_id = $res['assigned_driver_id'];
$req_id = $res['req_id'];
$req_title = $res['request_title'];
$req_price = $res['price'];
$req_time = $res['request_time'];
$req_date = $res['assign_date'];
$req_desc = $res['req_desc'];
$assigned = $res['assigned'];
$status = $res['req_status'];
$driver = $res['driver_name'];
$get_record = "SELECT * FROM `members` WHERE `Memberid`='$driver_id' AND `u_level`=3";
$res = mysqli_query($dbc, $get_record);
while($row = mysqli_fetch_assoc($res)){
$status = $row['u_status'];
}
?>
<tr class="gradeA">
<td><b><?php echo $driver ;?></b></td>
<td><?php echo $driver_id ;?></td>
<td><?php echo $req_date ;?></td>
<td><b><?php echo $wdate_to;?></b> ↔ <b><?php echo $wdate ;?></b></td>
<td class="center"><?php if($status == 1){echo '<a href="#" class="btn btn-danger btn-sm">Driver is not working. Deactivated</a>';}else if($status == 0){echo '<a href="#" class="btn btn-success btn-sm">Driver is Active. Working</a>';}?></td>
<td class="center"> <a href="weekly_report.php?driver_id=<?php echo $driver_id ;?>" class="btn btn-primary btn-sm">View Report</a>
</td>
</tr>
<?php } ?>
从给定日期获取星期一日期。我给定的日期是 2015 年 7 月 15 日。
echo date("Y-m-d", strtotime("previous monday", strtotime("2015-07-15")));
试试这个代码:
$currentDay = date('w');
$curDate = date('d-m-Y');
//$curDate = date('d-m-Y', strtotime("-1 week")); // uncomment this line if u want to get data of last week
$mon = $curDate;
if($currentDay > 1){
$day = $currentDay-1;
$mon = date('Y-m-d', strtotime($curDate. ' - '.$day.' days'));
}
$sat = $curDate;
if($currentDay !=7){
$day = (6 -$currentDay);
$sat = date('Y-m-d', strtotime($curDate. ' + '.$day.' days'));
}
echo $mon;
echo '<br>';
echo $sat;
我编写了一个程序,我可以在其中获取过去 7 天的数据。但我希望我的数据应该在上周可见,而一周从星期一开始,到星期日结束。然后下周一开始。 所以我想如果今天是星期三,如果我点击周报告。然后它应该只获取到上周一的数据。就像(星期三、星期二、星期一)但我的系统计数完成 7 天。 这是我的代码。
date_default_timezone_set("EST");
$wdate = date('Y-m-d');
$wdate_to = $wdate;
$wdate_to = strtotime("-7 days", strtotime($wdate_to)); //-7 days for last week. -30 for last week
$wdate_to = date("Y-m-d", $wdate_to);
$wget_req = "SELECT * FROM `requests` WHERE `assign_date` between '$wdate_to' AND '$wdate' AND `assigned`=1";
$result = mysqli_query($dbc, $wget_req);
while ($res = mysqli_fetch_assoc($result)){
$driver_id = $res['assigned_driver_id'];
$req_id = $res['req_id'];
$req_title = $res['request_title'];
$req_price = $res['price'];
$req_time = $res['request_time'];
$req_date = $res['assign_date'];
$req_desc = $res['req_desc'];
$assigned = $res['assigned'];
$status = $res['req_status'];
$driver = $res['driver_name'];
$get_record = "SELECT * FROM `members` WHERE `Memberid`='$driver_id' AND `u_level`=3";
$res = mysqli_query($dbc, $get_record);
while($row = mysqli_fetch_assoc($res)){
$status = $row['u_status'];
}
?>
<tr class="gradeA">
<td><b><?php echo $driver ;?></b></td>
<td><?php echo $driver_id ;?></td>
<td><?php echo $req_date ;?></td>
<td><b><?php echo $wdate_to;?></b> ↔ <b><?php echo $wdate ;?></b></td>
<td class="center"><?php if($status == 1){echo '<a href="#" class="btn btn-danger btn-sm">Driver is not working. Deactivated</a>';}else if($status == 0){echo '<a href="#" class="btn btn-success btn-sm">Driver is Active. Working</a>';}?></td>
<td class="center"> <a href="weekly_report.php?driver_id=<?php echo $driver_id ;?>" class="btn btn-primary btn-sm">View Report</a>
</td>
</tr>
<?php } ?>
希望尽快得到帮助
你可以试试这个:
//Returns values 0-6, 0 (for Sunday) through 6 (for Saturday))
$currentDay = date('w') - 1;
//Your week start on Monday, so if today is Sunday, you need to adjust the value
if($currentDay < 0) {
$currentDay = 6;
}
$weekStartTimestamp = time() - $currentDay * 24 * 60 * 60;
$wdate_to = date("Y-m-d", $weekStartTimestamp);
试试这个,它可能对你有帮助
<?php
date_default_timezone_set("EST");
$wdate = date('Y-m-d',strtotime('monday this week'));
$wdate_to = $wdate;
$wdate_to = strtotime("-7 days", strtotime($wdate_to)); //-7 days for last week. -30 for last week
$wdate_to = date("Y-m-d", $wdate_to);
$wget_req = "SELECT * FROM `requests` WHERE `assign_date` between '$wdate_to' AND '$wdate' AND `assigned`=1";
$result = mysqli_query($dbc, $wget_req);
while ($res = mysqli_fetch_assoc($result)){
$driver_id = $res['assigned_driver_id'];
$req_id = $res['req_id'];
$req_title = $res['request_title'];
$req_price = $res['price'];
$req_time = $res['request_time'];
$req_date = $res['assign_date'];
$req_desc = $res['req_desc'];
$assigned = $res['assigned'];
$status = $res['req_status'];
$driver = $res['driver_name'];
$get_record = "SELECT * FROM `members` WHERE `Memberid`='$driver_id' AND `u_level`=3";
$res = mysqli_query($dbc, $get_record);
while($row = mysqli_fetch_assoc($res)){
$status = $row['u_status'];
}
?>
<tr class="gradeA">
<td><b><?php echo $driver ;?></b></td>
<td><?php echo $driver_id ;?></td>
<td><?php echo $req_date ;?></td>
<td><b><?php echo $wdate_to;?></b> ↔ <b><?php echo $wdate ;?></b></td>
<td class="center"><?php if($status == 1){echo '<a href="#" class="btn btn-danger btn-sm">Driver is not working. Deactivated</a>';}else if($status == 0){echo '<a href="#" class="btn btn-success btn-sm">Driver is Active. Working</a>';}?></td>
<td class="center"> <a href="weekly_report.php?driver_id=<?php echo $driver_id ;?>" class="btn btn-primary btn-sm">View Report</a>
</td>
</tr>
<?php } ?>
从给定日期获取星期一日期。我给定的日期是 2015 年 7 月 15 日。
echo date("Y-m-d", strtotime("previous monday", strtotime("2015-07-15")));
试试这个代码:
$currentDay = date('w');
$curDate = date('d-m-Y');
//$curDate = date('d-m-Y', strtotime("-1 week")); // uncomment this line if u want to get data of last week
$mon = $curDate;
if($currentDay > 1){
$day = $currentDay-1;
$mon = date('Y-m-d', strtotime($curDate. ' - '.$day.' days'));
}
$sat = $curDate;
if($currentDay !=7){
$day = (6 -$currentDay);
$sat = date('Y-m-d', strtotime($curDate. ' + '.$day.' days'));
}
echo $mon;
echo '<br>';
echo $sat;