使用PHP在HTML表格单元格中输出MySQL查询

时间:2016-04-15 13:51:30

标签: php html mysql

我在公司的IT部门工作,我有责任每天发送呼叫中心部门注册的电话报告。我是MySQL,PHP或HTML的新手,我已经面临着我的第一个问题。

我的目标是在PHP中运行一些查询,然后在HTML表格单元格中输出它们。让我更具体一点。我可以访问电话记录数据库,我需要每天计算每个分支的总呼叫和丢失呼叫的数量。现在我只在MySQL中运行2个查询,然后将它们复制粘贴到.xls表中。

我有正确的查询,我在mysql中得到了正确的结果,即使在PHP中我得到的结果发布在网页上(种类),但我不知道如何创建表,或者如何输入查询表的特定单元格的结果。

这是我到目前为止所得到的:

<?php

$conn=@mysql_connect('host', 'username', 'password', 'asteriskcdrdb.cdr');
echo ('total calls ROPCW: ');
$result=mysql_query('select count(*) from asteriskcdrdb.cdr where calldate like "2016-04-11%" and dst="020" and disposition="ANSWERED" and duration > "10" ');
echo mysql_result($result, 0);

mysql_close($conn);
?>

此代码将在我的页面上发布4.11.2016上的总呼叫数,如下所示: 总呼叫ROPCW:369

我的目标是创建一个这样的表:

image

因此,我在上面提到的查询结果会出现在左侧的ROPCW-&gt; Total cell(其中是305),右侧是到目前为止的月度报告。

2 个答案:

答案 0 :(得分:0)

您可以计算出一个大查询或使用视图从单个来源收集所需的数据。其他建议是,循环遍历所有分支并收集所需的所有数据,以构建索引类似于此的关联数组:

$records[branch] = [date => [total => x, lost => y], mtd => [total => X, lost => Y]];

然后做一个:

foreach ($records as $branch => $record)
{
     echo string to build table row
}

答案 1 :(得分:-2)

我建议使用mysql_fetch_object或mysql_fetch_assoc函数代替mysql_result。基本上是因为这些函数获取整行而不是一个单元格值。对于您的示例查询工作正常,因为您的聚合函数只返回一个单元格和行。但是对于你想要的输出将无法正常工作。 请记住,您可以在PHP中注入HTML代码,反之亦然。做一些像:

这个想法将从你的表中运行一个select *; 然后,

$result = mysql_query($sql);
echo "<table>\n";
echo "<tr><th>Branch</th></tr>\n";
while ($callRecord = mysql_fetch_object($result)) {
    echo "<tr><td>{$callRecord->branch}</td></tr>\n";
}
echo "</tr>\n";
echo "</table>\n";

那应该输出所有旅游分支的列表。这是一个指导原则。 希望这会有所帮助!!

您可以访问www.php.net并在mysql_fetch函数之间进行选择,哪一个更适合您。