Php 如何以CSS块样式显示MYSQL表列?

Php 如何以CSS块样式显示MYSQL表列?,php,html,Php,Html,我想以css显示:块样式显示表列。我想要的最终结果应该如下表所示 我使用MYSQL和PHP来显示表中的列 这是在浏览器中呈现表中数据时的当前外观 源代码 <?php error_reporting(E_ALL ^ E_DEPRECATED); mysql_connect("localhost", "root", "") or die("Connection Failed"); mysql_select_db("automobile")or die("Connection Faile

我想以css显示:块样式显示表列。我想要的最终结果应该如下表所示

我使用MYSQL和PHP来显示表中的列

这是在浏览器中呈现表中数据时的当前外观

源代码

<?php

error_reporting(E_ALL ^ E_DEPRECATED);

mysql_connect("localhost", "root", "") or die("Connection Failed");
mysql_select_db("automobile")or die("Connection Failed");
$query = "select * from amin";
$result = mysql_query($query);
$numcolumn = mysql_num_fields($result);
for ( $i = 0; $i < $numcolumn; $i++ ) {
 $columnnames = mysql_field_name($result, $i);

  echo "<table style ='width:100%'>";
  echo "<tr>";


  echo "<th>".$columnnames. "</th>";

  echo "</tr>";
  echo "</table>";

 }
 ?>

您需要从循环中删除table、tr open标记和closing标记,如下面的代码所示。然后您将需要输出。
error_reporting(E_ALL ^ E_DEPRECATED);

mysql_connect("localhost", "root", "") or die("Connection Failed");
mysql_select_db("automobile")or die("Connection Failed");
$query = "select * from amin";
$result = mysql_query($query);
$numcolumn = mysql_num_fields($result);
   echo "<table style ='width:100%'>";
     echo "<tr>";
for ( $i = 0; $i < $numcolumn; $i++ ) {
     $columnnames = mysql_field_name($result, $i);
     echo "<th>".$columnnames. "</th>";         
 }

 echo "</tr>";
 echo "</table>";
?>
错误报告(E\u全部^E\u已弃用);
mysql_connect(“本地主机”、“根目录”、“根目录”)或die(“连接失败”);
mysql_选择_db(“汽车”)或die(“连接失败”);
$query=“从amin中选择*”;
$result=mysql\u query($query);
$numcolumn=mysql\u num\u字段($result);
回声“;
回声“;
对于($i=0;$i<$numcolumn;$i++){
$columnnames=mysql\u字段\u名称($result,$i);
回显“$columnnames.”;
}
回声“;
回声“;
?>

循环运行的每个实例都会创建一个宽度为100%的表,并在其中粘贴一个值为
$columnames
的标题。这意味着,由于循环正在查找0是否大于列的数量(并向其中添加一个),因此它将对每个实例执行此操作,并且由于宽度为100%,因此循环创建的“新表”将没有空间容纳像边这样的内容

要解决此问题,请使用以下代码:

<?php

error_reporting(E_ALL ^ E_DEPRECATED);

mysql_connect("localhost", "root", "") or die("Connection Failed");
mysql_select_db("automobile")or die("Connection Failed");
$query = "select * from amin";
$result = mysql_query($query);
$numcolumn = mysql_num_fields($result);

  echo "<table style ='width:100%'>";
  echo "<tr>";

for ( $i = 0; $i < $numcolumn; $i++ ) {
 $columnnames = mysql_field_name($result, $i);

  echo "<th>".$columnnames. "</th>";

 }


  echo "</tr>";
  echo "</table>";
 ?>

将表和tr标记移到循环外部。每次有新列名时,您都会创建一个新表。相反,将表放在循环之外,并确保所有列名都在同一个tr(tr是新行)中,这就是问题所在@James and Blazemonger。我将表和tr标记移到了循环之外。谢谢你,你打败了我!