<?php

/*
 * Codigo fuente
 */

$data = array(); //array nuevo para los datos(filas) del Json
$i = 0; //contador de filas

/*
 * Recorre el resultado del actions
 * y cada elemento lo ingresa al nuevo array
 */
foreach ($list_data as $element) {
    //recorre cada elemento o fila de la consulta
    foreach ($element as $key => $value) {
        //asigna  el valor
        $data[$i][$key] = $value;
    }
    $i++; //aumenta el contador de filas
}

//nuevo array de Jjson
$mensaje = array();


/*
 * Verifica si viene el status desde al actions
 * por defecto 0
 */
if (!isset($status)) {
    $status = 0;
}

/*
 * Valida si viene un mensaje de notificacion o de error
 */
if (isset($mensajeError) && !is_null($mensajeError)) {
    $data[$i]['mensaje'] = $mensajeError;
}

//Se asingna el status al Json
$mensaje['response']['status'] = $status;

/*
 * Validar que viene el total de filas
 * para asignarlo al Json
 */
if (isset($totalRows) && !is_null($totalRows)) {

    $mensaje['response']['totalRows'] = $totalRows;
}

/*
 * Validar que viene el incio de filas
 * para asignarlo al Json
 */
if (isset($startRow) && !is_null($startRow)) {

    $mensaje['response']['startRow'] = $startRow;
}

/*
 * Validar que viene el final de filas
 * para asignarlo al Json
 */
if (isset($endRow) && !is_null($endRow)) {

    $mensaje['response']['endRow'] = $endRow;
}

/*
 * Validar que viene el total de filas
 * para asignarlo al Json
 */
$mensaje['response']['data'] = $data;

/*
 * Codificacion del array a formato Json
 */
echo json_encode($mensaje);
?>