0

我有以下代码,但它不像我想要的那样工作。我只想显示一次表格标题,但现在它每次都重复标题。我希望表格标题是水平的,但现在它是垂直的。

代码:

<?php
include ("core/db_connectie.php");

//file_get_contents("main.tpl.php");

$query = "SELECT * FROM platen";
$result = mysql_query($query) or die (mysql_error());

$table = "<table>"; 

$cName = "";
$cValue = "";

while($row = mysql_fetch_assoc($result))
{   
    foreach($row as $columnName=>$columnValue)
    {
        $cName .= $columnName;
        $cValue .= $columnValue; 
    }
}

$table .= "<tr><th>". $cName ."</th></tr>"; 
$table .= "<tr><td>". $cValue ."</td></tr>"; 

$table .= "</table>"; 

echo $table;

编辑:

我更改了代码,但它现在仍然无法正常工作,它只是将所有内容粘贴在一起

例子:

IDAlbumBandStijlMediumDatumPrijsIDAlbumBandStijlMediumDatumPrijs
1TestTestereRockLP2013-06-1202TestTestereRockLP2013-06-1213
4

4 回答 4

0

您已将表头标签放置在 foreach 循环中。把它拿出来就可以了。

$table .= "" 。$列名。"";(把它放在foreach循环之外)

于 2013-06-18T09:46:42.343 回答
0

您只需将呈现标题的代码放在循环之外,否则它将在每次迭代时重复。我不知道您的数据具有哪种格式,一个简单的解决方案是使用两个循环,尽管我相信您可以找到更好的方法:

while( $row = mysql_fetch_assoc($result))
{   
    foreach($row as $columnName=>$columnValue)
    {
        $table .= "<tr><th>" . $columnName . "</th></tr>";
    }
    foreach($row as $columnName=>$columnValue)
    {
        $table .= "<tr><td>" . $columnValue . "</td></tr>";
    } 
}
于 2013-06-18T09:50:14.323 回答
0

你只想要第一行的标题,所以你必须记住你是否已经写了标题:

<?php
include ("core/db_connectie.php");

$query = "SELECT * FROM platen";
$result = mysql_query($query);

$table = "<table>"; 

$headerWritten = false;
while( $row = mysql_fetch_assoc($result))
{   
    foreach($row as $columnName=>$columnValue)
    {
        if(!$headerWritten) {
            $table .= "<tr><th>" . $columnName . "</th></tr>";
        }
        $table .= "<tr><td>" . $columnValue . "</td></tr>";  
    }
    $headerWritten = true;
}

$table .= "</table>"; 

echo $table;
?>

这是最简单的方法。

于 2013-06-18T09:51:53.743 回答
0

而($row = mysql_fetch_assoc($result)){

    foreach($row as $columnName=>$columnValue)
    {
        $table .= "<tr><th>" . $columnName . "</th>";
        $table .= "<td>" . $columnValue . "</td></tr>";  
    }

}

布鲁斯
https://www.facebook.com/blanct.timeline?ref=br_tf

于 2013-06-18T09:54:17.323 回答