U overschrijft de array binnen de foreach
op elke iteratie. Dit betekent in wezen dat de array bij elke iteratie wordt geleegd. De array bevat alleen de waarden van de laatste iteratie. Verplaats de $temp = array();
verklaring buiten de lus om dit op te lossen:
$temp = array(); // intialize the array
foreach($result as $r) {
$temp[] = array(
'id' => (int) $r['id_tabele'],
'ime_prezime' => (string) $r['naziv']
);
}
De bovenstaande oplossing zorgt ervoor dat uw code werkt, maar ik raad aan om de aanpak te gebruiken met SQL-aliassen zoals weergegeven in @YourCommonSense 's antwoord onderstaand.