PHP - Pasar una consulta personalizada de mysql a formato Json (JqueryDatatable)

   
Vista:

Pasar una consulta personalizada de mysql a formato Json (JqueryDatatable)

Publicado por Alexi (29 intervenciones) el 05/10/2014 20:37:42
Buenas estimado agradezco por tomarse el tiempo de leer mi duda, les comento estoy trabajando en php con Codeigniter,
estoy realizando un mantenimiento sencillo, (CRUD) con ajax, pero estoy utilizando el plugins JqueryDatatable a la cual
quiero llenarlo con un query donde consulto dos tablas distintas (base mysql) , pero no tengo idea como pasar esa consulta a formato JSON ya que ese formato recibe el datatable para llenarlo. Estoy intentando realizar de esta manera pero no me muestra nada, adjunto codigo...

Codigo PHP

Modelo
Realizo la consulta a la base y retorno un array
function getAll(){
$data = $this->db->query("CALL ConsultarItem()"); Ejecuto un Store Procedure
return $data->row_array();
}

Controlador
Obtengo el array y le hago var_dump
$data= $this->materiales_modelo->getAll();
var_dump($data);

y esto me muestra en pantalla

array (size=3)
0 =>
object(stdClass)[24]
public 'ID' => string '48' (length=2)
public 'articulo' => string 'fffffffffffffffffff' (length=19)
public 'localizacion' => string 'fffffffffffffffffff' (length=19)
public 'unidad_medida' => string 'fffffffffffffffffff' (length=19)
public 'razonsocial' => string 'OFFICECOSTA S.A.' (length=16)
1 =>
object(stdClass)[25]
public 'ID' => string '51' (length=2)
public 'articulo' => string 'AAAAAAAAAAAAAAA' (length=15)
public 'localizacion' => string 'AAAAAAAAAAAAAAA' (length=15)
public 'unidad_medida' => string 'AAAAAAAAAAAAAAA' (length=15)
public 'razonsocial' => string 'POLIPAPEL S.A.' (length=14)
2 =>
object(stdClass)[26]
public 'ID' => string '53' (length=2)
public 'articulo' => string 'AAAAAAAAAAAAAAA' (length=15)
public 'localizacion' => string 'AAAAAAAAAAAAAAA' (length=15)
public 'unidad_medida' => string 'AAAAAAAAAAAAAAA' (length=15)
public 'razonsocial' => string 'POLIPAPEL S.A.' (length=14)

Este resultado he tratado de pasarselo al Datatable Jquery de la siguiente manera

echo json_encode($data); Pero no muestra nada en el datatable y esta es la parte del

JAVASCRIPT

function load(){

ajax_datatable = $('table#ajax_datatable').dataTable({

"bServerSide": true,
"sAjaxSource": 'http://localhost/plansystem/crud_/datatable',

"bJQueryUI": true,
"bPaginate": true,

/* "sPaginationType": "full_numbers",*/

"sServerMethod": "POST",

"fnServerData": function(sSource,aoData,fnCallback)
{
aoData.push({name: "field2", value: $('#field2').val() });
$.ajax({
"dataType": 'json',
"type": "POST",
"url": sSource,
"data": aoData,
"success": fnCallback
});
},
"oLanguage": {
"sEmptyTable": "No hay datos",//tabla vacia
"sInfo": "Mostrando (_START_ - _END_) de _TOTAL_ registros",
"sLengthMenu": 'Mostrar <select>'+
'<option value="10">10</option>'+
'<option value="20">20</option>'+
'<option value="30">30</option>'+
'<option value="40">40</option>'+
'<option value="50">50</option>'+
'<option value="-1">Todo</option>'+
'</select> registros',
"sLoadingRecords": "Procesando...",
"sSearch": "Buscar:",
"sZeroRecords": "No hay datos con esa busqueda",
"oPaginate": {
"sFirst": "Primero",
"sLast": "Ultimo",
"sNext": "Siguiente",
"sPrevious": "Anterior",
}
}
});

}

Espero me puedan brindar alguna sugerencia para solucionar este pequeña inconveniente,

Saludos Cordiales.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder