parschakov
@parschakov
Начинающий изучать PHP и JS

Как перенести данные из БД в двумерный массив?

Здравствуйте. Есть таблица в БД, которая формируется слиянием колонок из двух таблиц:
1be9be1372e44beb8a5772f717b643dd.png
Есть код:
$sql = 'SELECT wp_bp_xprofile_fields.name, wp_bp_xprofile_data.value, wp_bp_xprofile_data.user_id, wp_bp_xprofile_data.field_id FROM wp_bp_xprofile_data INNER JOIN wp_bp_xprofile_fields ON wp_bp_xprofile_data.field_id = wp_bp_xprofile_fields.id ORDER BY user_id, field_id';

$result = mysql_query($sql);
$arr = array();

while ($row = mysql_fetch_array($result)) {
$arr[] = $row['name'];
$arr[] = $row['value'];
}
mysql_free_result($result);

Таким образом получаем одномерный массив.

Как получить массив, типа:
$arr = array(
user_id => array(name => value ))
  • Вопрос задан
  • 1529 просмотров
Пригласить эксперта
Ответы на вопрос 1
@AlikDex
while ($row = mysql_fetch_array($result)) {
   $arr[$row['user_id']][] = array( $row['name'] =>  $row['value']);
}


Второй вариант:
while ($row = mysql_fetch_array($result)) {
    foreach ($row as $key=>$value)
        $arr[$row['user_id']][] = array($key =>  $value);
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы