Как показать индикатор выполнения при загрузке данных таблицы базы данных в лист Excel в PHP / codeigniter

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

покажите нам, что вы сделали до сих пор.

Sayed Mohd Ali 08.01.2019 08:02

1. Создайте таблицу базы данных с 6 столбцами, заполните эту таблицу 100 000 строк фиктивных данных. 2. Теперь создайте сценарий PHP, который показывает кнопку «скачать как лист Excel». 3. При нажатии кнопки «Загрузить как лист Excel» эти 100 000 строк данных будут загружены в виде листа Excel. 4. показать индикатор выполнения или количество записей, над которыми работали во время загрузки. После того, как вы напишете код, поделитесь, пожалуйста, кодом и файлом SQL с данными вместе с инструкциями для нас по настройке на нашем локальном хосте для демонстрации.

Apliede Elagnas 08.01.2019 08:03

вы можете использовать кнопку редактирования в своем вопросе.

david 08.01.2019 08:03
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
3
365
1

Ответы 1

    <?php connect_local_host();?>
    <html lang = "en">
    this is for the progress bar
    <body>
    <!-- Progress bar holder -->
    <div id = "progress" style = "width:500px;border:1px solid #ccc;"> 
     </div>
    <!-- Progress information -->
    <div id = "information" style = "width"></div>
    this code here is for exporting the query
    <?php
    function connect_local_host()
    {
    $time_start = microtime(true);
    $mysqlserver = "localhost";         
    $user = "root";
    $pass = "";
    $db = "allbanki_db";
    $link = mysql_connect( "$mysqlserver", $user, $pass );
    if ( ! $link )
    die( "Couldn't connect to MySQL" );
    //print "Successfully connected to server<P>";
    mysql_select_db( $db )
    or die ( "Couldn't open $db: ".mysql_error() );
    //print "Successfully selected database \"$db\"<P>"; 
    $query = "SELECT uacct_id,uacct_suid from user_account";
    $export = mysql_query ($query ) or die ( "Sql error : " . mysql_error( ) );
    $fields = mysql_num_fields ( $export );
    for ( $i = 0; $i < $fields; $i++ )
    {
    $header .= mysql_field_name( $export , $i ) . "\t";
    }
    while( $row = mysql_fetch_row( $export ) )
    {
    $line = '';
    foreach( $row as $value )
    {                                            
        if ( ( !isset( $value ) ) || ( $value == "" ) )
        {
            $value = "\t";
        }
        else
        {
            $value = str_replace( '"' , '""' , $value );
            $value = '"' . $value . '"' . "\t";
        }
        $line .= $value;
    }
    $data .= trim( $line ) . "\n";
    }
    $data = str_replace( "\r" , "" , $data );
    if ( $data == "" )
    {enter code here
    $data = "\n(0) Records Found!\n";                        
    }
    header("Content-type: application/octet-stream");
    header("Content-Disposition: attachment; filename=excel_data.xls");
    header("Pragma: no-cache");
    header("Expires: 0");
    print "$header\n$data";
    //exit();
    //}
    // progress bar code again
    $time_end = microtime(true);
    $time = $time_end - $time_start;
    $t_t=$time/$fields;
    $total = $t_t + 1;// added 1 to verify that the progress bar does work
    // Loop through process
    for($i=1; $i<=$total; $i++){
    // Calculate the percentage
    $percent = floatval($i/$total * 100)."%";
    echo round($percent,0); 
    // Javascript for updating the progress bar and information
    echo '<script language = "javascript">
    document.getElementById("progress").innerHTML = "<div style=\"width:'.$percent.';background-     color:#ddd;\">&nbsp;</div>";
    </script>';
    // This is for the buffer achieve the minimum size in order to flush data
    echo str_repeat(' ',1024*64);
    // Send output to browser immediately
    flush();
    // Sleep one second so we can see the delay
    sleep(1);
    }
    // Tell user that the process is completed
    echo '<script language = "javascript">document.getElementById("information").innerHTML = "Process   completed"</script>';
    echo '<br/>';
    echo  "Total time taken :"." ".round($time,6) . " s";
    }
     ?>
    </body>
    </html>

Другие вопросы по теме