PHP脚本状态栏

时间:2018-06-08 17:41:21

标签: javascript php progress blockui

我创建了一个php脚本,提交查询并以CSV格式下载结果。我创建了一个引导按钮,用户可以单击该按钮下载该文件。某些报告需要更长时间才能创建,我希望向用户显示脚本在后台运行的某种状态。

我在PHP脚本中尝试了一些像BlockUI这样简单的东西。在脚本的开头使用echo '<script type="text/javascript">$.blockUI();</script>';,在结尾使用echo '<script type="text/javascript">$.unblockUI();</script>';,但它没有用。

有人可以帮忙吗?我不需要进度条或任何花哨的东西。我只需要在php脚本运行时显示某种类型的状态。

HTML

...
<td class="pull-right"><a type="button" href="report1_download_csv.php" class="btn">Download</a></td>
...

PHP

<?php
/* Set up and execute the query. */
$sql = "SELECT 
FROM   TABLE ";
$stmt = sqlsrv_query( $conn, $sql);

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) )  {
 foreach($row AS $key => $value){
        $pos = strpos($value, '"');
        if ($pos !== false) {
            $value = str_replace('"', '\"', $value);
        }
        $out .= '"'.$value.'",';
    }
    $out .= "\n";
}
sqlsrv_free_stmt($results);
sqlsrv_close($conn);
// Output to browser with the CSV mime type
header("Content-type: text/x-csv");
$date = date('m-d-Y-His');
header("Content-Disposition: attachment; filename=Report1_{$date}_UTC.csv");
echo "Column1, Column2\n";
echo $out;
?>

1 个答案:

答案 0 :(得分:0)

使用ajax向服务器发送请求以进行操作然后显示微调器或任何其他东西,直到服务器给你回复。