繁体   English   中英

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

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

我正在尝试将我的 datbase 获取的数据提取到 Excel 文件中,以便在 execl 或 csv 中下载它,但是我在导出时遇到了问题,并且也没有数据获取到 csv 。这是我的代码:

这是我的php代码

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

这是我的 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>

这是我的 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);  
 }  
 ?>

我需要在我的网页上查看这些数据,还需要导出和下载它。

干得好!

改变

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

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

它应该可以工作,您不能将“PDO”与 mysqli_query 一起使用,因为两者都是连接到数据库的不同方式。

您可以在此处阅读有关 PDO 和 mysqli 的更多信息 ->

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

您还应该启用错误报告。 因为当我测试 PHP 代码时,它返回了一个错误。

暂无
暂无

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

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