如何在sql中打印多个数据
Posted
技术标签:
【中文标题】如何在sql中打印多个数据【英文标题】:how can i print multiple data in sql 【发布时间】:2015-12-09 10:27:16 【问题描述】:我可以在对两个或更多表运行查询后打印一组数据吗?
这是来自我的两个查询表:
第一个查询
$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'");
是否可以通过使用 table 以在 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>
【问题讨论】:
您确定没有收到任何错误/意外结果吗?因为我看到了其中一些。 像魅力一样工作:D只需要添加打印功能 所以<td><?php echo $f1 ?></td>
不需要在;
后面加上$f1
。
好吧,刚刚在阅读您的评论后再次尝试,仍然很好。
【参考方案1】:
如果您不保存第一个查询的结果,例如在一个变量中,它会在下一个执行时丢失。执行查询后立即获取查询结果,将它们存储在数组中,并在获得下一步所需的所有可用数据后立即使用它们,例如将它们打印出来。这是你问的吗?
顺便说一句。不要再使用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 文件。
【讨论】:
这只是我的fyp,懒得改成mysqli了。顺便说一句,我已经将结果保存在一个变量中,你能告诉我打印它的源代码吗? 啊,现在我明白了。你的意思是实际打印在纸上,对吧?对于直接输出到 word 或在表格 excel 的情况下,我猜最简单的方法是从浏览器复制粘贴。或者只是从浏览器打印... 哈哈哈,这就是为什么我处于两难境地,我在网上搜索,我得到的都是它的 echo print_r 和 blablabla...需要一个软拷贝。这是我最后一年的项目,所以使用复制粘贴打印报告并不实用。我需要一个内置函数来这样做 有没有更简单的方法来获得这个?我完全失去了已经阅读了你给我的链接及其复杂性。从来没有为 php 使用过 3rd 方 @MohdFadli 你可以看看 phpexcel 库。您还应该从相同的用户那里找到一个 php 到词库。它有据可查,很容易将您的 html 转换为 office doc。 Ps MySQL_* 函数在下一个 php 版本中被弃用和删除!请转向MySQL!!!以上是关于如何在sql中打印多个数据的主要内容,如果未能解决你的问题,请参考以下文章