Php 如何以CSS块样式显示MYSQL表列?
我想以css显示:块样式显示表列。我想要的最终结果应该如下表所示 我使用MYSQL和PHP来显示表中的列 这是在浏览器中呈现表中数据时的当前外观 源代码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
<?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标记移到了循环之外。谢谢你,你打败了我!