Volcar los datos de una instruccion SQL a una tabla HTML

////////////////////////////// // HTML // // Esta es una implementacion facil, // OJO! que no tienen ningun tipo de impedimento en pasar una sentencia SQL // tipo Insert o Update, eso se los dejo a Uds ;) Saludos! <script type='text/javascript' src='jquery.min.js'></script> <script type='text/javascript' src='ajax.js'></script> <script type='text/javascript'> $(document).ready(function(){ json = sql2json("select * from clientes order by nombre"); json2tabla("#mitabla",json); }); </script> <body> <div id="mitabla"></div> </body> ////////////////////////////// // javascript (archivo ajax.js) function sql2json (csql) { /* funcion que envia por ajax a php */ var json = {}; $.ajax({ url:'sql2json.php', type:'POST', data:{ sql:csql } , dataType:'json', cache:false, async:false, success:function(data){ if(data.length){ json = data; }else{ console.log("Ningun resultado para: "+csql); }; } }); return json; }; function json2tabla (tabla,data) { var tbl_body = ""; var tbl_head = ""; if (data.length) { for(var i in data[0]){ tbl_head += "<th style='padding-bottom:3px; border-bottom:3px double #000'>"+i+"</th>"; } tbl_body += "<tr>"+tbl_head+"</tr>"; $.each(data, function() { var tbl_row = ""; $.each(this, function(k,v) { tbl_row += "<td>"+v+"</td>"; }); tbl_body += "<tr>"+tbl_row+"</tr>"; }); $(tabla).html(tbl_body); }else{ $(tabla).html("<tr><td><h1>SIN RESULTADOS</h1></td></tr>"); }; }; ////////////////////////////// // PHP (archivo: sql2json.php) <?php function conectar(){ $con = @mysqli_connect(SERVIDOR,USUARIO,PASS); if($con){ @mysqli_select_db($con,BASEDATOS); }; mysqli_query($con,"SET NAMES 'utf8'"); return $con; }; $conexion = conectar(); $sql=$_POST["sql"]; if (strpos($sql, "SELECT") >= 0 || strpos($sql, "Select") >= 0 || strpos($sql, "select") >= 0) { $query = mysqli_query($conexion,$sql); if ($query) { while($obj = @mysqli_fetch_object($query)){ $arr[] = $obj; }; $json = json_encode($arr); }else{ $json = json_encode(["error"=>"1","valor"=>"No se puede devolver datos de la consulta.-"]); } mysqli_close($conexion); echo $json; }; ?>
Implementación AJAX como funcion Javascript para volcar los datos de una instrucción SQL a una tabla HTML . Necesita Jquery

2 Responses

Gracias por tu ejemplo! Estoy practicando con él...
Aprovechando ajax, ¿como podríamos hacer para que el contenido de la tabla se refrescara cada ciertos segundos?
Lo he hecho añadiendo una función "refrescar" en el archivo html y estableciendo un tiempo de refresco. (segundos*1000)




$(document).ready(function(){
function refrescar(){
json = sql2json("select * from clientes order by nombre");
json2tabla("#mitabla",json);
}
setInterval(refrescar, 5000);
});




Write a comment

You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.