【问题标题】:How to suppress column headings when displaying MySQL records in a html table在 html 表中显示 MySQL 记录时如何抑制列标题
【发布时间】:2017-05-30 00:59:18
【问题描述】:

我正在使用以下代码在 html 表中显示 MySQL 表中的行。我已经在 php 中定义了表头 - 请任何人都可以建议我如何修改代码以阻止它将 MySQL 列标题也带入表中?

目前,它先显示表标题(第 1 行),然后是 MySQL 列标题(第 2 行),然后记录开始显示在第 3 行。

我尝试在代码中的不同点使用 -N 来抑制列标题,但它只会引发错误。

<?php

// Create connection
$con = mysql_connect("localhost","xxxxxxxxxx","xxxxxxxxx");
// Check connection
if (!$con) {
    die("Connection failed: " . mysql_error());
} 

mysql_select_db("xxxxxxxxxxxx",$con);
$sql = "SELECT * FROM SiteList";
$myData = mysql_query($sql,$con);
echo "<table border=1>
<tr>
<th>ID</th>
<th>Site_Name</th>
<th>Weather_Forecast</th>
<th>Forecast_Date</th>
<th>Forecast_Time</th>
<th>Further_Information_about_This_Site</th>
</tr>";
while($record = mysql_fetch_array($myData)) {
echo "<tr>";
echo "<td>" . $record['ID'] . "</td>";
echo "<td>" . $record['Site_Name'] . "</td>";
echo "<td>" . $record['Weather_Forecast'] . "</td>";
echo "<td>" . $record['Forecast_Date'] . "</td>";
echo "<td>" . $record['Forecast_Time'] . "</td>";
echo "<td>" . $record['Further_Information_about_This_Site'] . "</td>";
echo "</tr>";
}

echo "</table>";

mysql_close($con);

?>

【问题讨论】:

  • 不,它不会那样做。这些行必须在您的数据库中。
  • 嗨@LightnessRacesinOrbit 所以你可以在普通的选择查询中隐藏列标题(就像这里讨论的stackoverflow.com/questions/16101495/…),但是当你通过php调用时你不能做同样的事情吗?肯定有办法吗?
  • 你误会了。我要说的是,没有什么可以压制的。 MySQL CLI 或 PHP 都不会将列标题注入您的结果集中。您看到的值实际上必须是数据的一部分(可能是您错误地将它们放在那里)。您可以简单地进入您的数据库并查看一下,以验证这一点。
  • “我尝试在代码中的不同点使用 -N 来抑制列标题,但它只会引发错误。” 通过猜测编程不会'不起作用。 切换到mysql 命令行实用程序与 PHP 或 MySQL PHP 库完全无关。
  • @LightnessRacesinOrbit 道歉并原谅我 - 你是绝对正确的。当我回去检查我的数据库内容时,我意识到我一定是无意中将 MySQL 列标题复制到了数据库的第二行。现在将它们删除并获得我需要的结果。谢谢你,并为我的新手疏忽道歉。

标签: php mysql


【解决方案1】:

您正在循环访问从数据库中检索到的数据。所以记录必须存在于数据库中。如果你还想忽略数据

$skip = 0; // declare coutner
while($record = mysql_fetch_array($myData)) {

if ($skip != 0){ // skip on first loop
echo "<tr>";
echo "<td>" . $record['ID'] . "</td>";
echo "<td>" . $record['Site_Name'] . "</td>";
echo "<td>" . $record['Weather_Forecast'] . "</td>";
echo "<td>" . $record['Forecast_Date'] . "</td>";
echo "<td>" . $record['Forecast_Time'] . "</td>";
echo "<td>" . $record['Further_Information_about_This_Site'] . "</td>";
echo "</tr>";
 }

$skip++; // increment counter

}

【讨论】:

  • 感谢您查看@nrm。请参阅上面的评论,您是正确的,数据存在于数据库中,我错误地将列标题复制为数据库中的第 2 行。
猜你喜欢
  • 1970-01-01
  • 2015-04-18
  • 1970-01-01
  • 2013-03-12
  • 1970-01-01
  • 2018-04-29
  • 2015-03-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多