[英]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.