Вывод в один массив данных из двух разных таблиц - как сделать?
Требуется вывести данные сотрудника для редактирования.
БД сотрудник
БД доступы сотрудника
Пробовал так:
$json_output = array();
$result_staff = mysql_query("SELECT * FROM staff WHERE id_staff = '".$_POST['id']."'" ,$db);
if (mysql_num_rows($result_staff) > 0) {
$row_staff = mysql_fetch_array($result_staff);
$result_access_staff = mysql_query("SELECT * FROM access_staff WHERE id_staff = '".$_POST['id']."'" ,$db);
while ($access_staff = mysql_fetch_array($result_access_staff)) {
$str .= sprintf( "'%s' => '%s', ",$access_staff['vid_access'],$access_staff['access']);// моя попытка
$options_staff = "".substr_replace($str, '', strrpos($str, ','))."";//моя попытка
}
$json_output = array('succes'=>1, 'name_staff'=>''.iconv("windows-1251", "UTF-8", $row_staff['name']).'', 'email_staff'=>''.$row_staff['email'].'', 'post_staff'=>''.iconv("windows-1251", "UTF-8", $row_staff['post_staff']).'', $options_staff);
}
echo json_encode($json_output);
exit;
Получился результат такой:
{"succes":1,"name_staff":"Андрей","email_staff":"a.test@mail.ru","post_staff":"Менеджер","0":"'access_analitic' => '0', 'access_tools' => '0', 'access_balance' => '0', 'access_status' => '0', 'give_lids' => '0', 'del_lids' => '0', 'edit_lids' => '0', 'add_lids' => '1', 'view_lids' => '1'"}
Надо так:
{"succes":1,"name_staff":"Андрей","email_staff":"a.test@mail.ru","post_staff":"Менеджер","access_analitic:0, 'access_tools': 0, 'access_balance':0, 'access_status':0, 'give_lids':0, 'del_lids':0, 'edit_lids':0, 'add_lids':1, 'view_lids':1"}
Как сделать? Подскажите, пожалуйста...
Источник: Stack Overflow на русском