Как показать индикатор выполнения при загрузке данных таблицы базы данных на лист Excel в PHP? - PullRequest
0 голосов
/ 01 сентября 2018

Я выполняю задачу, в которой я хотел загрузить (или экспортировать в лист Excel) данные таблицы базы данных в лист Excel, и при загрузке листа Excel я хотел показать прогресс загруженного файла в индикаторе выполнения или показать количество записей, обработанных во время загрузки.

Вот мой код:

<?php require 'config.php';?>
<!DOCTYPE html>
<html>
<head>
    <title>Assignment</title>
</head>
<body>

<form method="post"  >
<progress id="progressBar" value="0" max="100" style="width:300px;"></progress>
<span id="status"></span>
<h1 id="finalMessage"></h1>
<input type="submit" name="export_data" value="Export to Excel">
</form>

<?php
$output='';
if(isset($_POST['export_data']))
    {       
        ?>

        <script type="text/javascript">
        var bar = document.getElementById('progressBar');
        var status = document.getElementById('status');
        status.innerHTML = "Downloading Starts.....";

       </script>
        <?php
        $result=mysqli_query($con,"SELECT * FROM `users`");
        $count = mysqli_num_rows($result);
        if(mysqli_num_rows($result)>0)
        {
            $output .= '<table class="table" bordered="1">                              
                            <tr>
                                <th>First Name</th>
                                <th>Last Name</th>                                  
                            </tr>';
            $current=1;
            while($row=mysqli_fetch_array($result))
            {

                $percent= round(($current/$count)*100,2);
                echo "<script>bar.value = $percent;</script>";
                //echo "<p>$current is $percent% of $count";
                ?>


        <?php
                $output .= '<tr>
                                <td>'. $row["fname"].'</td> 
                                <td>'. $row["lname"].'</td>                                     
                            </tr>';
                            $current++;
            }       
            //exit();                               
            $output .='</table> ';
            header("Content-Type: application/xls");
            header("Content-Disposition: attachment; filename=download.xls");           
            echo $output;   
        }           
    }
?>

</body>
</html>

Any help is appreciated.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...