Você está substituindo o array dentro do
foreach
em cada iteração. Isso significa essencialmente que a matriz é esvaziada em cada iteração. A matriz conterá apenas os valores da última iteração. Mova o $temp = array();
declaração fora do loop para corrigir isso:$temp = array(); // intialize the array
foreach($result as $r) {
$temp[] = array(
'id' => (int) $r['id_tabele'],
'ime_prezime' => (string) $r['naziv']
);
}
A correção acima fará seu código funcionar, mas recomendo usar a abordagem usando aliases SQL, conforme mostrado em @YourCommonSense resposta de abaixo de.