如何在MySQL + PHP中将所有列作为行

时间:2015-02-05 16:49:48

标签: php mysql

我在MySQL DB中有一个像这样的表:

> NAME     |   VALUE
>--------------------
> Jon      |    0.2
> Galson   |    0.34
> Sam      |    0.5

我需要在我的网络应用中显示此表格,如下所示:

> NAME    |     Jon     |   Galson   |    Sam
> VALUE   |     0.2     |    0.34    |    0.5

我只是想使用MYSQL + PHP将数据库列转换为行,仅用于显示目的。

2 个答案:

答案 0 :(得分:2)

您不应该使用(可能很复杂的)SQL查询来执行此操作。而是依赖于HTML / CSS:

假设

$data = [{name: 'Jon', value: 0.2}, {name: 'Galson', value: 0.34}, {name: 'Sam', value: 0.5}]

你可以

foreach($data as $person) {
    echo '<div class="person">';
    echo '<div class="name">' . $person->name . '</div>';
    echo '<div class="value">' . $person->value . '</div>';
    echo '</div>';
}

.person {
    float: left; 
}

同样,在任何情况下都不会像这样构建HTML。 Use some kind of templates.

答案 1 :(得分:1)

你应该看看@Sergiu Paraschiv的答案。你绝对不想做的是使用已弃用的mysql_db_query()。或者尝试这样的事情:

<?php
$db = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8', 'username', 'password');
$stmt = $db->query('SELECT name, value FROM table');
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);

$output = [];

foreach($results as $row) {
    $output[$row['name']] = $row['value'];
}
print_r($output);