<?php
数据库连接
include('db.php');
从数据库中提取记录
if(isset($_POST['submit'])){
$first_day=$_POST['date_start'];
$last_day=$_POST['date_end'];
$output= "";
$table="users_new_test"; // Enter Your Table Name
$sql=mysqli_query($conn,"SELECT indx,date_start,id,name,tl_name,skills,grp,shift,breaktime,updatetime FROM $table WHERE date_start >= '$first_day' AND date_end <= '$last_day' ORDER BY date_start ASC");
$columns_total = mysqli_num_fields($sql);
获取字段名称
for ($i = 0; $i < $columns_total; $i++) {
$heading = mysqli_field_name($sql, $i);
$output .= '"'.$heading.'",';
}
$output .="\n";
// Get Records from the table
while ($row = mysqli_fetch_array($sql)) {
for ($i = 0; $i < $columns_total; $i++) {
$output .='"'.$row["$i"].'",';
}
$output .="\n";
}
下载文件
$filename = date("d-m-Y").'.csv';
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename='.$filename);
echo $output;
exit;
header("location:export_excel.php");
}
?>
我想计算特定日期的班次数。 喜欢
2016-11-19
Shift = Morning (12)
Shift = Late Morning (12)
Shift = Evening (12)
Shift = Late Evening (12)
Shift = Night (12)
2016-11-20
Shift = Morning (14)
Shift = Late Morning (10)
Shift = Evening (15)
Shift = Late Evening (9)
Shift = Night (12)
我怎样才能做到这一点。有什么建议。请看看我是新开发的。
答案 0 :(得分:0)
您需要在制作CSV文件之前计算每个字段。您可以在表上进行mysql查询和回显结果,然后从中生成csv文件。如果您需要有关此问题的其他帮助,请通知我。但是,你可以从那里得到一个想法https://dev.mysql.com/doc/workbench/en/wb-admin-export-import-table.html
答案 1 :(得分:0)
@ TPLMedia24是对的。使用MySQL代替循环结果的每一行。
SELECT date_start, shift, COUNT(*) as total FROM FROM $table WHERE date_start >= '$first_day' AND date_end <= '$last_day' GROUP BY shift, date_start ORDER BY date_start ASC