我很难过,可以使用一些非常感谢的帮助来解决这个问题。
基本上,我有一个显示来自 mysql 数据库的数据的页面。
我有一个简单的文本链接,可以将所有数据导出到下载的 CSV 文件中。那个代码是...
<a href="log_activity-export2CSV.php?id=<?php echo $colname_CoachActivityListData ?>">Export All</a>
...这工作得很好。
注意:一切都是根据登录的用户生成的——因此需要 ID。
这是将上述内容导出为 CSV 的 PHP 文件的内容/代码...
<?php
mysql_select_db($database_vandyConnect, $vandyConnect);
$queryString = "SELECT Created, Last_Updated, coach_name, Start_Date, End_Date, And_Many_More_Columns FROM Activity_Log WHERE User_id = ". $_GET['id'];
$result = mysql_query($queryString, $vandyConnect);
// $result = $db_con->query('SELECT * FROM `Activity_Log`');
if (!$result) die('Couldn\'t fetch records');
$num_fields = mysql_num_fields($result);
$headers = array();
for ($i = 0; $i < $num_fields; $i++) {
$headers[] = mysql_field_name($result , $i);
}
// $today = date("F_j,_Y,_g:ia");
$today = date("Ymd_g-ia");
$fp = fopen('php://output', 'w');
if ($fp && $result) {
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="ADEC_Activty_export-'.($today).'.csv"');
header('Pragma: no-cache');
header('Expires: 0');
fputcsv($fp, $headers);
while ($row = mysql_fetch_row($result)){
fputcsv($fp, $row, ",");
}
die;
}
?>
...注意:我从上面删除了 Dreamweaver 为我插入的所有 php 代码,这些代码将其连接到数据库和用户权限等。
所以现在,我试图弄清楚如何为用户添加一种方法来下载此数据的 CSV 文件,但仅限于用户选择的某些日期范围之间。
首先,我选择使用我在网站其他地方使用过的 JQuery DatePicker,但这次使用它的 DateRange 选项...
<script type="text/javascript"> //to pick date range
$(function() {
$( "#from_start" ).datepicker({
defaultDate: "-2m",
changeMonth: true,
numberOfMonths: 2,
onSelect: function( selectedDate ) {
$( "#to_end" ).datepicker( "option", "minDate", selectedDate );
}
});
$( "#to_end" ).datepicker({
defaultDate: "-1m",
changeMonth: true,
numberOfMonths: 2,
onSelect: function( selectedDate ) {
$( "#from_start" ).datepicker( "option", "maxDate", selectedDate );
}
});
});
</script>
...注意:这部分也可以正常工作。然后我为用户制作了html表单来选择他们的日期范围......
<form method="POST" action="log_activity-export2CSV.php?id=<?php echo $colname_CoachActivityListData ?>">
Select a date range from <input type="text" id="from_start" name="from_start" value="" /> to <input type="text" id="to_end" name="to_end" value="" />
<input name="export" type="submit" value="Export CSV" />
</form>
...我给出了与上面的“导出所有链接”相同的“动作”,这是整个问题的关键/关键 - 我不知道如何将表单的选定值推送到 CSV 导出,以便仅在所选日期范围内进行下载。
如果有人可以指导我,我将不胜感激。另请注意:虽然这是很多代码,但我是 php 的菜鸟,所以请保持温柔 ;-) 谢谢,-jason。