简体   繁体   English

将我的 php 表数据导出并下载到 csv

[英]Export and download my php table data to csv

I'm trying to get my datbase fetched data to Excel file for downloading it in execl or csv, but I'm having problems with exporting and also No datas are fetching to the csv .Here is my code:我正在尝试将我的 datbase 获取的数据提取到 Excel 文件中,以便在 execl 或 csv 中下载它,但是我在导出时遇到了问题,并且也没有数据获取到 csv 。这是我的代码:

This is my php code这是我的php代码

 <?php  
 $connect = new PDO('mysql:host=localhost;dbname=123', '123', 'invoice123');
 $query ="SELECT * from tbl_order";  
 $result = mysqli_query($connect, $query);  
 ?>

this is my html这是我的 html

<form method="post" action="export.php" align="center">  
                     <input type="submit" name="export" value="CSV Export" class="btn btn-success" />  
                </form>  
      <table id="data-table" class="table table-bordered table-striped">
        <thead>
          <tr style="background-color: cornflowerblue;">
            <th>Invoice No.</th>
            <th>Invoice Date</th>
            <th>Student Name</th>
            <th>Total Amount</th>
            <th>Total Amount</th>
            <th>Total Amount</th>
            <th>Total Amount</th>
            <th>Total Amount</th>
            <th>Total Amount</th>
            <th>Total Amount</th>

          </tr>
        </thead>
        <?php  
                     while($row = mysqli_fetch_array($result))  
                     {  
                     ?> 

              <tr>
                 <td><?php echo $row["order_id"]; ?></td>
                <td><?php echo $row["order_no"]; ?></td>
                <td><?php echo $row["order_date"]; ?></td>
                <td><?php echo $row["order_receiver_name"]; ?></td>
                <td><?php echo $row["order_total_before_tax"]; ?></td>
                <td><?php echo $row["order_total_tax1"]; ?></td>
                <td><?php echo $row["order_total_tax2"]; ?></td>
                <td><?php echo $row["order_total_tax"]; ?></td>
                <td><?php echo $row["order_total_after_tax"]; ?></td>
                <td><?php echo $row["order_datetime"]; ?></td>

              </tr>
                <?php       
                     }  
             ?> 

      </table>

    </div>
    <br>

this is my export.php page这是我的 export.php 页面

 <?php  
      //export.php  
 if(isset($_POST["export"]))  
 {  
      $connect = new PDO('mysql:host=localhost;dbname=123', '123', 'invoice123');
      header('Content-Type: text/csv; charset=utf-8');  
      header('Content-Disposition: attachment; filename=data.csv');  
      $output = fopen("php://output", "w");  
      fputcsv($output, array('
Invoice No.', 'Invoice Date', 'Student Name', 'Total Amount'));  
      $query = "SELECT * from tbl_order";  
      $result = mysqli_query($connect, $query);  
      while($row = mysqli_fetch_assoc($result))  
      {  
           fputcsv($output, $row);  
      }  
      fclose($output);  
 }  
 ?>

I need to view these datas on my webpage and also i need to export and download it.我需要在我的网页上查看这些数据,还需要导出和下载它。

Here you go!干得好!

change改变

 $connect = new PDO('mysql:host=localhost;dbname=123', '123', 'invoice123');

to

 $connect = mysqli_connect('localhost','123','invoice123','123');

and it should work, you can't use "PDO" with mysqli_query because both are different ways to connect to the database.它应该可以工作,您不能将“PDO”与 mysqli_query 一起使用,因为两者都是连接到数据库的不同方式。

You can read more about PDO and mysqli here ->您可以在此处阅读有关 PDO 和 mysqli 的更多信息 ->

https://websitebeaver.com/php-pdo-vs-mysqli https://websitebeaver.com/php-pdo-vs-mysqli

You should also enable error reporting.您还应该启用错误报告。 because when I tested the PHP codes it returned an errror.因为当我测试 PHP 代码时,它返回了一个错误。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM