首页 / PHP / PHP中的组查询结果
PHP中的组查询结果
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP中的组查询结果,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2828字,纯文字阅读大概需要5分钟。
内容图文
![PHP中的组查询结果](/upload/InfoBanner/zyjiaocheng/691/cbc923f1478c4922835bd642456f4588.jpg)
我正在使用以下查询来填充表:
$result = mysql_query("SELECT vendor, part_number, machine, Sum(q_received) AS received, Sum(q_rejected) AS rejected FROM qa_parts Group by vendor, part_number, machine Order by vendor ASC");
我想按供应商分组结果,然后在供应商下方显示来自它们的所有零件及其详细信息.
这是我需要做的:
http://www.gen-techno.com/images/old.jpg
现在正在做什么:
http://www.gen-techno.com/images/new.jpg
如您所见,供应商O.P.S产品的零件未在该供应商下分组,就像上述联合电子示例中的零件一样.
截至目前我的表格代码:
while($row = mysql_fetch_array($result))
{
echo "<h4>" . $row['vendor'] . "</h4>[fancy_table]<table>
<tr>
<th>Part Number</th>
<th>Quantity Received</th>
<th>Quantity Rejected</th>
<th>Machine</th>
</tr>";
echo "<tr>";
echo "<td>" . $row['part_number'] . "</td>";
echo "<td>" . $row['received'] . "</td>";
echo "<td>" . $row['rejected'] . "</td>";
echo "<td>" . $row['machine'] . "</td>";
echo "</tr>";
echo "</table>[/fancy_table]";}
解决方法:
在每个循环中,您都必须确定是否该绘制标题—您将列出一个新的供应商.如果它不是新供应商,那么您仍在列出最后一个标题所绘制的零件,因此您不希望该标题或结束表格.
$current_vendor = false;
while($row = mysql_fetch_array($result)) {
// listing a new vendor? Output the heading, start the table
if ($row['vendor'] != $current_vendor) {
if ($current_vendor !== false)
echo '</table>[/fancy_table]'; // if we're changing vendors, close the table
echo '
<h4>'.$row['vendor'].'</h4>[fancy_table]
<table>
<tr>
<th>Part Number</th>
<th>Quantity Received</th>
<th>Quantity Rejected</th>
<th>Machine</th>
</tr>
';
$current_vendor = $row['vendor'];
}
// output the row of data
echo '<tr>
<td>'.$row['part_number'].'</td>
<td>'.$row['received'].'</td>
<td>'.$row['rejected'].'</td>
<td>'.$row['machine'].'</td>
</tr>
';
}
echo '</table>[/fancy_table]'; // close the final table
另外,您应该开始更新此代码以使用PDO.显然,您正在更新曾经存在的某些东西……使PDO成为此更新的一部分. mysql_ *函数即将弃用,很快它们就会消失.
PDO并不难过渡,现在,当您已经在做事情时,要比以后遇到“没有破裂,请不要解决”的问题要容易得多.
使用高级PDO DBA方法快速查看您的代码:
$pdo = new PDO("mysql:host=localhost;dbname=database", '-username-', '-password-');
$sql = '
SELECT
vendor,
part_number,
machine,
SUM(q_received) AS "received",
SUM(q_rejected) AS "rejected"
FROM
qa_parts
GROUP BY
vendor,
part_number,
machine
ORDER BY
vendor ASC
';
$statement = $pdo->prepare($sql);
$statement->execute();
while ($order = $statement->fetch()) {
/* Put your table code here! */
}
文档
> foreach-http://php.net/manual/en/control-structures.foreach.php
> mysql_query(已弃用)-http://php.net/manual/en/function.mysql-query.php
> PDO-http://www.php.net/manual/en/book.pdo.php
> PDO :: prepare-http://www.php.net/manual/en/pdo.prepare.php
> PDOStatement :: fetch-http://www.php.net/manual/en/pdostatement.fetch.php
> PDOStatement :: execute-http://www.php.net/manual/en/pdostatement.execute.php
内容总结
以上是互联网集市为您收集整理的PHP中的组查询结果全部内容,希望文章能够帮你解决PHP中的组查询结果所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。