2015-02-05 6 views
0

У меня есть таблица в БД MySQL, как это:Как получить все столбцы в виде строк в MySQL + PHP

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

Мне нужно, чтобы отобразить эту таблицу в моем веб-приложение, с чем-то вроде этого:

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

Я просто хочу преобразовать столбец базы данных в строки, используя MYSQL + PHP, только для показа.

+1

В PHP это простой цикл, действующий на хорошо упорядоченный массив. – Strawberry

+0

Брат Я только что попробовал mysql_fetch_array и mysql_fetch_ASSOC внутри цикла while, но не понял, как это сделать. :( –

ответ

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

* почему * следует использовать шаблоны OP для чего-то вроде этого? – Novocaine

+0

Потому что, скорее всего, этот фрагмент кода поместится в большем контексте с большим количеством циклов и большего количества HTML. И, возможно, ему понадобится условное условие там и тогда у вас заканчивается плохой код, который невозможно прочитать и нулевое разделение между представлением и логикой. И если он просто учится, то он подскажет ему, что теперь является более эффективной, чем когда-либо. –

+0

Я не согласен с использованием шаблонов php для сборки html это * не хорошая практика *, если вы не можете этого сделать без. Это как сказать кому-то пропустить изучение JavaScript и просто изучить jQuery. Разработчик должен иметь возможность писать код в своей базовой форме перед использованием шаблонов/библиотеки/плагины/аддоны и т. д., чтобы улучшить этот процесс. – Novocaine

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); 
Смежные вопросы