我可以在运行两个或更多表的查询后打印一组数据吗?
这是我查询的两个表:
第一次查询





$query = mysql_query("SELECT id, BuyerName,BuyerEmail,BuyerAddress,TransactionID, ItemAmount,DateTime FROM `order` WHERE YEAR(DateTime)= '$Year'AND MONTH(DateTime) = '$Month' LIMIT $start, $per_page") or die(mysql_error());
第二次查询
$querydetail = mysql_query("SELECT * FROM orderlist WHERE TransactionID = '$f4'");

是否可以按照使用表格在php中设置的方式进行打印?
这是我以表格格式显示数据的方式。有没有办法将此输出直接导入Microsoft Word或A4纸张格式?
<?php
while($row = mysql_fetch_array($query))
{
$f1 = $row['BuyerName'];
$f2 = $row['BuyerEmail'];
$f3 = $row['BuyerAddress'];
$f4 = $row['TransactionID'];
$f5 = $row['ItemAmount'];
$f6 = $row['DateTime'];
?>
<table class="table">
<tr>
<th>Nama Pelanggan</th>
<th>Email Pelanggan</th>
<th>Alamat Pelanggan</th>
<th>ID Transaksi</th>
<th>Harga</th>
<th>Tarikh</th>
<tr>
<td><?php echo $f1 ?></td>
<td><?php echo $f2 ?></td>
<td><?php echo $f3 ?></td>
<td><?php echo $f4 ?></td>
<td><?php echo $f5 ?></td>
<td><?php echo $f6 ?></td>
</tr>
<table class="table">
<tr>
<th>Nama Barang</th>
<th>Kod Barang</th>
<th>Kuantiti</th>
</tr>
<?php
$querydetail = mysql_query("SELECT * FROM orderlist WHERE TransactionID = '$f4'");
while($rows = mysql_fetch_array($querydetail))
{
$fd1 = $rows['ItemName'];
$fd2 = $rows['ItemNumber'];
$fd3 = $rows['ItemQTY'];
?>
<tr>
<td><?php echo $fd1 ?></td>
<td><?php echo $fd2 ?></td>
<td><?php echo $fd3 ?></td>
</tr>
&#13;
答案 0 :(得分:0)
如果您不保存第一个查询的结果,例如在变量中,一旦执行下一个变量,它就会丢失。获取查询&#39;只要您执行它们,就将它们存储在数组中,并在您拥有下一步所需的所有可用数据时立即使用它们,例如将它们打印出来。那是你问的吗?
B.t.w。不再使用mysql_query
,它将在未来的php版本中删除,并可能使您的代码容易受到SQL注入攻击。使用PDO或mysli进行数据库工作会更安全。
修改强> 要从PHP创建word文档,请查看this question。
或者您可以省略HTML标记,使用合适的分隔字符分隔列(例如,如果您不在数据中使用分号,则使用分号)
<?php $delimiter = ";"; ?>
...
<?php echo $f1 . $delimiter ?>
而不是
<td><?php echo $f1 ?></td>
并导入Excel或OpenOffice Calc。这是一个使用CSV mime类型输出到download而不是浏览器输出的解决方案。
或者你可以,例如使用FPDF创建PDF文件。