php - Codeigniter - 如何将数据库结果垂直显示为列而不是行

标签 php mysql codeigniter

我有一个包含 21 列的数据库表,我想显示所有列,所以我决定尝试垂直放置该表。

第一列是“标题”,后面的每一列显示数据库中的一行数据。

|--------|------|------|------|
| Title1 | row1 | row2 | row3 |
|--------|------|------|------|
| Title2 | row1 | row2 | row3 |
|--------|------|------|------|

等等

在 View 中

echo '<table>';
echo '<h2>Schemes</h2>';
foreach ($scheme->result() as $schemerow)
{
echo '<tr><td class="app"><strong>Award&nbsp;1</td><td class="app">'.$schemerow->Description.'</td></tr>';
echo '<tr><td class="app"><strong>Award&nbsp;2</td><td class="app">'.$schemerow->Description.'</td></tr>';
echo '<tr><td class="app"><strong>Location</td><td class="app">'.$schemerow->LocationName.'</td></tr>';
echo '<tr><td class="app"><strong>Day</td><td class="app">'.$schemerow->DayName.'</td></tr>';

等等

这给了我一个长表,每一行都在前一行的下面。

Screenshot of result

但我不知道如何将第二行放在第一行的右边等等?

最佳答案

我不熟悉 codeigniter 并且不知道是否可以使用 result() 函数实现以下功能。但是使用 result_array() 将结果提取到数组中,您应该能够使用以下方法转置该数组:

$transposedArray = array();
foreach ($scheme->result_array() as $schemerow)
{
    foreach ($schemerow as $columnName => $value)
    {
        $transposedArray[$columnName][] = $value;
    }
}

然后输出:

foreach ($transposedArray as $header => $values)
{
    echo '<tr>';
    echo "<td class='header'>{$header}</td>";
    foreach ($values as $value)
    {
        echo "<td class='value'>{$value}</td>";
    }
    echo '</tr>';
}

// column1 in a row
echo '<tr>';
echo "<td class='header'>Readable Column Name1</td>";
foreach ($transposedArray['columnName1'] as $value)
{
    echo "<td class='value'>{$value}</td>";
}
echo '</tr>';

// column2 in a row
echo '<tr>';
echo "<td class='header'>Readable Column Name2</td>";
foreach ($transposedArray['columnName1'] as $value)
{
    echo "<td class='value'>{$value}</td>";
}
echo '</tr>';

// column3 in a row
...

关于php - Codeigniter - 如何将数据库结果垂直显示为列而不是行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36373806/

相关文章:

CodeIgniter - 自动加载

php - 从多维数组中获取键值

php - 如何从php中的日期中获取数字?

php - 如何更快地从mysql数据库加载数据?

mysql - 从站 I/O 线程停止,因为更改字符集后主站上的 SET @master_heartbeat_period 失败

php - 如何在 Codeigniter 的查询生成器中使用 select

php - 使用正则表达式排除 mysql 查询的结果

mysql - 无法启动和连接到 MySQL 服务器

java - 如何在 hibernate 中使用 DitachedCriteria 对名称列表 <User> 进行排序?

codeigniter - 使用cpanel在codeigniter中的cronjob