user8863243
user8863243

Reputation:

json encode 2 dimensional array

I have this PHP code :

$sql = read_sql( 'SELECT * FROM ges_messagerie_mess WHERE id_channel = ' . $_POST["idconv"] . ' AND id_private = ' . $_POST["idprive"] . ' AND iduser != ' . $_SESSION['compte'] . ' AND statut = 1 ORDER BY datecreation ASC' );

if ( $sql ) {
    foreach ( $sql as $message ) {
        $datemessage         = utf8_encode( strftime( "%d %b %Y", strtotime( $message["datecreation"] ) ) );
        $data['datemessage'] = $datemessage;

        $heureTicket          = utf8_encode( strftime( "%H:%M", strtotime( $message["datecreation"] ) ) );
        $data['heuremessage'] = $heureTicket;

        $data['success'] = nl2br( $message["message_user"] );

        $data['logo'] = getLogo( $message["idbase"] );

    }
}

 echo json_encode( $my2dimensionalArrayHere );

but i'm looking how to create an array with 2 dimensions to send to my AJAX call ! And then in the Ajax part, how do i get to the data with my 2 dimensional array ?

Thanks a lot for your help :)

Upvotes: 0

Views: 55

Answers (1)

Syscall
Syscall

Reputation: 19764

You could use the [] operator to push your $data array into the $my2dimensionalArray:

$my2dimensionalArray[] = $data;

The code could be:

$my2dimensionalArray = [];
if ( $sql ) {
    foreach ( $sql as $message ) {
        $datemessage         = utf8_encode( strftime( "%d %b %Y", strtotime( $message["datecreation"] ) ) );
        $data['datemessage'] = $datemessage;

        $heureTicket          = utf8_encode( strftime( "%H:%M", strtotime( $message["datecreation"] ) ) );
        $data['heuremessage'] = $heureTicket;

        $data['success'] = nl2br( $message["message_user"] );

        $data['logo'] = getLogo( $message["idbase"] );

        $my2dimensionalArray[] = $data;
    }
}
echo json_encode( $my2dimensionalArray );

output will look like:

[
 {"datemessage":"01 Jan 2018","heuremessage":"00:00","success":"success","logo":"logo"},
 {"datemessage":"01 Jan 2018","heuremessage":"00:00","success":"success","logo":"logo"},
 {"datemessage":"01 Jan 2018","heuremessage":"00:00","success":"success","logo":"logo"}
]

Upvotes: 1

Related Questions