Fra mysql til array til json

kongen

kongemedlem
I en database så har 3 kolonner (id, filmtittel,premiere) med 3 filmer.

Jeg skal trekke ut filmene fra db og putte i en array.

PHP:
$filmer= array();
while($rad = mysqli_fetch_array($results)) {
$filmer[] = array(
    $rad['id']=>array(
        'filmtittel'=>$rad['filmtittel'],
        'premiere'=>$rad['premiere'])
    );
}
echo json_encode(array('filmer' => $filmer));

Denne gir resultatet

PHP:
{"filmer":[
        {
        "1":{"filmtittel":"Rambo","premiere":"2015-05-17 14:30:00"}
        },
        {
        "2":{"filmtittel":"Rocky","premiere":"2015-06-21 14:30:00"}
        },
        {
        "3":{"filmtittel":"MacGyver","premiere":"2015-12-31 14:30:00"}
        }
]}

Jeg ønsker å fjerne [ i starten av arrayen og ] i slutten. Jeg prøvde å fjerne [] i koden men da fikk jeg bare siste filmen i databasen. Jeg har også prøvd array_push uten at det hjalp, da fikk jeg ingenting. Jeg vil også fjerne {} rundt hver enkel film.

Jeg prøvde å flytte loopen inne i arrayen uten suksess.

PHP:
$filmer= array(
while($rad = mysqli_fetch_array($results)) {
    $rad['id']=>array(
        'filmtittel'=>$rad['filmtittel'],
        'premiere'=>$rad['premiere'])
}
);

Resultatet jeg ønsker er

PHP:
{"filmer":{
        "1":{"filmtittel":"Rambo","premiere":"2015-05-17 14:30:00"},
        "2":{"filmtittel":"Rocky","premiere":"2015-06-21 14:30:00"},
        "3":{"filmtittel":"MacGyver","premiere":"2015-12-31 14:30:00"}
        }
}

Hvordan kan dette gjøres enklest mulig?
 

adeneo

Medlem
Hva med
PHP:
$filmer = array();
while($rad = mysqli_fetch_array($results)) {
    $filmer[ $rad['id'] ] = array(
                              'filmtittel' => $rad['filmtittel'],
                              'premiere' => $rad['premiere'])
                            );
}
 
Topp