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


How to get all columns as rows in MySQL + PHP

我在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将数据库列转换为行,仅用于显示目的。

您不应该使用(可能很复杂)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。使用某种模板。

您应该查看@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);