0

我想请教一些想法支持如何在 PHP 中实现从 5 个不同的 MYSQL 脚本创建表。他们每个人的结果是按月计算的数据组的总和。我不想在脚本上花费太多时间,因为单独激活时它们都可以。

我将提出理论查询,以免我的信息太长。

重要提示:所有查询都是独立的并且有自己的连接表。他们没有任何共同之处。但它们都是可以按月份分组的数字。

<?php
$qry = "SUM(CASH) group by MONTH DESC";
$result=mysql_query($qry) or die(mysql_error());

$qry2 = "SUM(DEBT) group by MONTH DESC";
$result=mysql_query($qry2) or die(mysql_error());

$qry3 = "SUM(DEBTPAID) group by MONTH DESC";
$result=mysql_query($qry3) or die(mysql_error());

$qry4 = "SUM(INVOICE) group by MONTH DESC";
$result=mysql_query($qry4) or die(mysql_error());

$qry5 = "SUM(NVOICEPAYOFF) group by MONTH DESC";
$result=mysql_query($qry5) or die(mysql_error());
?>

我想实现这样的表:

<table>
<tr>
  <td>CASH</td>
  <td>DEBT</td>
  <td>DEBTPAID</td>
  <td>INVOICE</td>
  <td>INVOICEPAYOFF</td>
</tr>
<?
echo '<tr>';

echo '<td><label>'. $row['CASH'] .'</label></td>';
echo '<td><label>'. $row2['DEBT'] .'</label></td>';
echo '<td><label>'. $row3['DEBTPAID'] .'</label></td>';
echo '<td><label>'. $row4['INVOICE'] .'</label></td>';
echo '<td><label>'. $row5['INVOICEPAYOFF'] .'</label></td>';
echo '</tr>';

?>
</table>

我会欣赏您的每一个想法、解决方案或建议。先感谢您!

4

1 回答 1

0

如果我理解正确,则无法组合查询(尽管我们可能需要查看完整的查询)。在这种情况下,您可以简单地执行以下操作:

$row = array();
$qry = "SUM(CASH) group by MONTH DESC";
$result=mysql_query($qry) or die(mysql_error());
$row['cash'] = mysql_fetch_field($result);

$qry2 = "SUM(DEBT) group by MONTH DESC";
$result=mysql_query($qry2) or die(mysql_error());
$row['debt'] = mysql_fetch_field($result);

$qry3 = "SUM(DEBTPAID) group by MONTH DESC";
$result=mysql_query($qry3) or die(mysql_error());
$row['debtpaid'] = mysql_fetch_field($result);

$qry4 = "SUM(INVOICE) group by MONTH DESC";
$result=mysql_query($qry4) or die(mysql_error());
$row['invoice'] = mysql_fetch_field($result);

$qry5 = "SUM(INVOICEPAYOFF) group by MONTH DESC";
$result=mysql_query($qry5) or die(mysql_error());
$row['invoicepayoff'] = mysql_fetch_field($result);
//Add HTML Table here.
foreach($row as $val){
    echo '<td><label>'. $row['CASH'] .'</label></td>';
}

您应该考虑替换 mysql_ 函数。这些现在已被弃用。

于 2012-12-20T22:23:11.670 回答