Code to autoheader and fill data
Code to autoheader and fill data
/////////////////////php/////////////////////////
$conn = sqlsrv_connect( $serverName, $connectionInfo);
class clasedatos {
var $cabecera;
var $datos;
function add_cabecera( $num) {
$this->cabecera= $num;
}
function add_datos( $valor) {
$this->datos= $valor;
}
}
if( $conn === false )
{
echo "No es posible conectarse al servidor.</br>";
die( print_r( sqlsrv_errors(), true));
$conn = null;
}
else{
$sql =" Params of sql ";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
die( print_r( sqlsrv_errors(), true));
}
else{
$clase = new clasedatos;
do {
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
$json[] = $row;
$clase->add_cabecera(array_keys($row));
$clase->add_datos($json);
}
} while ( sqlsrv_next_result($stmt) );
sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);
echo json_encode($clase, JSON_NUMERIC_CHECK );
}
}
//javascript
$(document).ready(function() {
var dataJsonCabecera,dataJsonDatos,cabecera,valorDatos;
var cabecera;
var arrCabecera = [];
$.ajax({
type: "GET",
url:"damedatos.php",
data: { },
async: false,
success: function(datos){
var json = JSON.parse(datos);
dataJsonCabecera = eval(json["cabecera"]);
valorDatos = eval(json["datos"]);
for(var i in dataJsonCabecera)
{
if (dataJsonCabecera.hasOwnProperty(i)) {
var cabecera2 = { sTitle:dataJsonCabecera[i],data:dataJsonCabecera[i]};
arrCabecera[i]=cabecera2
}
}
},
error: function (obj, error, objError){
}
});
$('#example').dataTable( {
scrollY: 500,
paging: false,
data: valorDatos,
//data: valorDatos,
dataType: "json",
columns: arrCabecera,
"language": {
"url": "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/Spanish.json"
}
} );
});
</script>