//////////////////////////////
// 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
Aprovechando ajax, ¿como podríamos hacer para que el contenido de la tabla se refrescara cada ciertos segundos?
$(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.