我正在尝试从MySQL查询中检索html标头的列标题。我的应用程序的结构是这样的,列标题不是静态的(有时有4个,有时是7个等)。由于某些无法忍受的原因,我找不到从任何给定查询中获取列名的简单方法。
我的最终目标是从查询中输出一个html表。
答案 0 :(得分:1)
如果您将查询作为关联数组,您可以执行以下操作:
$query = "Select [stuff]";
$results = mysql_query($query);
$i = 0;
while ($row = mysql_fetch_assoc($results)) {
if ($i < 1) {
foreach($row as $key => $val) {
echo $key;//column name
}
}
//Do other stuff
$i++;
}
是的,我知道他们应该做mysqli _...,但这是我使用旧的mysql _...
的例子修改强>
要扩展此:
$query = "Select [stuff]";
$results = mysql_query($query);
$i = 0;
echo "<table>";
while ($row = mysql_fetch_assoc($results)) {
echo "<tr>";
if ($i < 1) {
foreach($row as $key => $val) {
echo "<td>".$key."</td>";//column name
}
}
echo "</tr>";
echo "<tr>";
foreach($row as $key => $val) {
echo "<td>".$val."</td>";//column name
}
echo "</tr>";
//Do other stuff
$i++;
}
答案 1 :(得分:0)
您可以使用函数mysql_list_fields获取列名。
答案 2 :(得分:0)
下面的代码从sql获取数据。包括标题栏
// Data, depends on your sql statement
$sql_dt = array(); // make sure it is array
foreach( $sql_dt as $key => $val ) {
$data[] = <<< EOH
<tr>
<th>$val['column_name']</th> <tr/>
<th>$val['column_age']</th>
<tr/>
EOH;
}
$table_dt = implode( $data );
echo <<< EOT
<table>
<tr>
<th>Name</th> <tr/>
<th>Age</th>
<tr/>
{$table_dt}
<table/>
EOT;