Ввод данных

Php Useless

Новичок
Наример foreach'ом ввожу в таблицу($item) данные о юзерах. А айди не ввожу($item[id]), и в последний столбец таблицы хочу ввести данные с другой таблицы(нпр. test) где user_id = $item[id]. Как это сделать? В форич ещё форич?!Не понимаю.
 

Andkorol

Новичок
Сгруппируй данные из другой таблицы по полю `user_id` в качестве ключей массива – и затем получай эти данные из сгруппированного массива, используя $item['id'] из первой таблицы:
PHP:
foreach($table as $item){
// ...
    echo $another_table[$item['id']]['some_field'];
// ...
}
 

Php Useless

Новичок
Сгруппируй данные из другой таблицы по полю `user_id` в качестве ключей массива – и затем получай эти данные из сгруппированного массива, используя $item['id'] из первой таблицы:
PHP:
foreach($table as $item){
// ...
    echo $another_table[$item['id']]['some_field'];
// ...
}
не понял(((
 

Andkorol

Новичок
Результаты запроса из «другой таблицы» преобразуешь в массив, в котором ключами являются значения поля `user_id`:
PHP:
$another_table = array(
    'user_id_1' => array('some_field_1' => 'some_value_1', 'some_field_2' => 'some_value_2'),
    'user_id_2' => array('some_field_1' => 'some_value_1', 'some_field_2' => 'some_value_2'),
    // ...
    'user_id_N' => array('some_field_1' => 'some_value_1', 'some_field_2' => 'some_value_2'),
);
Затем работаешь с этим массивом так, как я показал в пред. сообщении.
 

Php Useless

Новичок
Результаты запроса из «другой таблицы» преобразуешь в массив, в котором ключами являются значения поля `user_id`:
PHP:
$another_table = array(
    'user_id_1' => array('some_field_1' => 'some_value_1', 'some_field_2' => 'some_value_2'),
    'user_id_2' => array('some_field_1' => 'some_value_1', 'some_field_2' => 'some_value_2'),
    // ...
    'user_id_N' => array('some_field_1' => 'some_value_1', 'some_field_2' => 'some_value_2'),
);
Затем работаешь с этим массивом так, как я показал в пред. сообщении.
Как? каждое значение так вручную писать?
 

Andkorol

Новичок
Не тупи.
Пройти циклом по массиву результатов запроса из «другой таблицы» – и создать в процессе новый массив нужного формата (в котором ключами являются значения поля `user_id`).
 

Php Useless

Новичок
Не тупи.
Пройти циклом по массиву результатов запроса из «другой таблицы» – и создать в процессе новый массив нужного формата (в котором ключами являются значения поля `user_id`).
Это не понимаю и создать в процессе новый массив нужного формата (в котором ключами являются значения поля `user_id`)
 

Php Useless

Новичок
Не тупи.
Пройти циклом по массиву результатов запроса из «другой таблицы» – и создать в процессе новый массив нужного формата (в котором ключами являются значения поля `user_id`).
Чтобы Пройти циклом по массиву результатов запроса из «другой таблицы» нужен user_id. А он в массиве $item[id]
 

Andkorol

Новичок
PHP:
$result = array( // результат запроса из «другой таблицы»
    0 => array('user_id' => 23, 'some_field_1' => 'some_value_1', 'some_field_2' => 'some_value_2'),
    1 => array('user_id' => 42, 'some_field_1' => 'some_value_1', 'some_field_2' => 'some_value_2'),
);

$another_table = array();
foreach($result as $row){
    $another_table[$row['user_id']] = $row; // формируем массив, где ключами элементов являются значения поля `user_id`
}
var_dump($another_table);
Результат:
PHP:
array (size=2)
  23 =>
    array (size=3)
      'user_id' => int 23
      'some_field_1' => string 'some_value_1' (length=12)
      'some_field_2' => string 'some_value_2' (length=12)
  42 =>
    array (size=3)
      'user_id' => int 42
      'some_field_1' => string 'some_value_1' (length=12)
      'some_field_2' => string 'some_value_2' (length=12)
 
Сверху