Задать вопрос
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 ))
  • Вопрос задан
  • 1544 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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);
}
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽