2

我很难过,可以使用一些非常感谢的帮助来解决这个问题。

基本上,我有一个显示来自 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。

4

0 回答 0