我刚刚开始 PHP 开发。我正在尝试在我们的网络服务器上打印每日电话报告。连接成功建立,查询运行,并打印表格,但由于某些我似乎无法理解的原因,它连续两次打印每列的值。因此,电话代理 John Smith 打印为
约翰约翰史密斯史密斯
表格已格式化。它打印时不会出现错误 - 但表格的宽度是应有的两倍,因为每个表格都打印了两次。
此外,我知道 mysqli 和 PDO 比我在这里使用的命令更可取。这是我的教科书给出示例的方式 - 当我对 Web 开发更加熟悉时,我会切换。现在,即使是简单的事情也会让我失望。
如果有人能找出问题所在,我将不胜感激。
if (!($connection = mysql_connect($server,$userName,$password))) die("Could not connect");
mysql_select_db($databaseName, $connection);
$myQuery = "Select (a few fields here)
From
callreport inner join employees on callreport .`phonenum` = employees.extension
where
date= 20130807";
if(!($result = mysql_query($myQuery,$connection))) showerror();
while ($row = mysql_fetch_array($result)){
echo "<tr>";
foreach ($row as $attribute){
echo "<td>{$attribute}</td>";
}
echo "</tr>";
}
echo "
</table>
</body>
</html>";
最佳答案
mysql_fetch_array()
以两种方式从表中返回一行 - 作为数字和关联索引数组:
$row['name']='John';
$row[0]='John';
$row['surname']='Smith';
$row[1]='Smith';
将此函数替换为 mysql_fetch_assoc()
(仅返回具有关联键的数组)或 mysql_fetch_row()
(仅返回具有数字键的数组)。在这两种情况下,您的脚本都会按照您的预期工作。
关于php - 对表的回显查询 - 打印每个列值两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18134770/