我正在尝试动态获取列名称和值,这意味着如果在数据库中添加新列,我想在页面刷新时在前端显示
下面将为我提供列名称,但随后我需要检索与列名称相关的值。任何人都可以指导我如何做到这一点,谢谢。
<?php
Include"db.php";
echo "<table>";
echo "<tr>";
$qColumnNames = mysql_query("SHOW COLUMNS FROM fullnames") or die("mysql error");
$numColumns = mysql_num_rows($qColumnNames);
$x = 0;
while ($x < $numColumns)
{
$colname = mysql_fetch_row($qColumnNames);
$col[$colname[0]] = $colname[0];
$x++;
}
foreach($col as $head){
echo "<th>$head</th>";
}
echo "</tr>";
echo "</table>";
?>
最佳答案
可以做这样的事情:(假设您的检索列名的功能正常)
编辑代码
Include("db.php");
echo "<table>";
$qColumnNames = mysql_query("SHOW COLUMNS FROM fullnames") or die("mysql error");
$numColumns = mysql_num_rows($qColumnNames);
$x = 0;
while ($x < $numColumns)
{
$colname = mysql_fetch_row($qColumnNames);
$col[$colname[0]] = $colname[0];
$x++;
}
$result = mysql_query("SELECT * FROM fullnames");
$counter = 0;
while($row = mysql_fetch_assoc($result)){
foreach($col as $c){
$rows[$counter][] = "<td>" . $row[$c] . "</td>";
}
$counter++;
}
echo "<tr>";
foreach($col as $c){
//echo headers
echo "<th>" . $c . "</th>";
}
echo "</tr>";
foreach($rows as $r){
//Echo all content
echo "<tr>";
foreach($r as $cell){
//echo all cells
echo $cell;
}
echo "</tr>";
}
echo "</table>";
?>
还没有时间测试这个,但它应该可以工作。 (但您应该使用 msqli_ 函数代替。
关于php - 如何获取mysql列名和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19206652/