【问题标题】:Progress Bar with Ajax JQuery and PHP for import a .csv file to MySQL带有 Ajax JQuery 和 PHP 的进度条,用于将 .csv 文件导入 MySQL
【发布时间】:2017-03-11 21:16:57
【问题描述】:

我尝试使用 PHP、JQuery 和 HTML 为进度条编写代码。 因此,我为 PHP 文件发出了 Ajax 请求,并在 success Ajax 参数中搜索了从 PHP 文件请求的 data,如下所示..

success: function(data){       
    if(data == 'Error1'){
        alert("The File is not a .csv");
    }else if(data == "Error2"){
        alert("Please select a file to import!");
    }else{  
        $('#consumidor_table').html(data);
        alert("The importation has been made!");
    }
}

else 确实打印了一个带有 MySql DB 行的表。 PHP 文件从 HTML 输入读取 .csv 并将这些行插入 DB。

其实我做进度条的代码是这样的: 成功前参数

xhr: function(){
 var xhr = new window.XMLHttpRequest();                      
 xhr.upload.addEventListener("progress", function(evt){
    if (evt.lengthComputable) {
        var percentComplete = evt.loaded / evt.total;
        console.log(evt.loaded);
        console.log(evt.total); 
        console.log(percentComplete*100);
        addProgress(percentComplete*100);
    }
    });
    return xhr;
 },

全部代码: JQuery; PHP URL

错误:当上传文件并提交表单时,console.log(evt.total);console.log(evt.loaded); 打印相同的值,并且它们的进度条已完全,但 Ajax 继续请求PHP 文件和我的表是空的呢。

那么我可以对来自 PHP 文件的响应的进度条做些什么呢?

【问题讨论】:

    标签: php jquery mysql ajax csv


    【解决方案1】:

    我不确定加载情况,即使我正在寻找显示完成量的东西。但我有一个工作代码可以将 CSV 上传到 Mysql。

    <?php  
     if(!empty($_FILES["employee_file"]["name"]))  
     {  
          $connect = mysqli_connect("123.123.123.99","db_username","db_password","db_Name") or die('Unable To Connect'); 
          $output = '';  
          $allowed_ext = array("csv");  
          $extension = end(explode(".", $_FILES["employee_file"]["name"]));  
          if(in_array($extension, $allowed_ext))  
          {  
               $file_data = fopen($_FILES["employee_file"]["tmp_name"], 'r');  
               fgetcsv($file_data);  
               while($row = fgetcsv($file_data))  
               {  
                    $customerDetails = mysqli_real_escape_string($connect, $row[0]);  
                    $cod = mysqli_real_escape_string($connect, $row[1]);  
                    $trackingID = mysqli_real_escape_string($connect, $row[2]);  
                    $shipmentType = mysqli_real_escape_string($connect, $row[3]);  
                    $vendorName = 'eKart';  
                    $query = "  
                    INSERT INTO nss_delivery  
                         (customerDetails, cod, trackingID, shipmentType, vendorName)  
                         VALUES ('$customerDetails','$cod', '$trackingID', '$shipmentType', '$vendorName')  
                    ";  
                    mysqli_query($connect, $query);  
               }  
               $select = "SELECT * FROM nss_delivery ORDER BY deliveryID DESC";  
               $result = mysqli_query($connect, $select);  
               $output .= '  
                    <table class="table table-bordered">  
                         <tr>  
                               <th width="5%">ID</th>  
                               <th width="25%">Customer Details</th>  
                               <th width="35%">COD Amount</th>  
                               <th width="10%">Tracking ID</th>  
                               <th width="20%">ShipmentType</th>  
                               <th width="5%">Vendor Name</th> 
                         </tr>  
               ';  
               while($row = mysqli_fetch_array($result))  
               {  
                    $output .= '  
                         <tr>  
                              <td>'.$row["deliveryID"].'</td>  
                              <td>'.$row["customerDetails"].'</td>  
                              <td>'.$row["cod"].'</td>  
                              <td>'.$row["trackingID"].'</td>  
                              <td>'.$row["shipmentType"].'</td>  
                              <td>'.$row["vendorName"].'</td>  
                         </tr>  
                    ';  
               }  
               $output .= '</table>';  
               echo $output;  
          }  
          else  
          {  
               echo 'Error1';  
          }  
     }  
     else  
     {  
          echo "Error2";  
     }  
     ?>  
    

    【讨论】:

      猜你喜欢
      • 2015-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多