Reputation:
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
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