Foros del Web » Programando para Internet » Javascript »

recibir cadena json para llenar una tabla en jquery

Estas en el tema de recibir cadena json para llenar una tabla en jquery en el foro de Javascript en Foros del Web. Buenas tardes, quisera llenar una tabla en jquery con unos datos que obtengo de una consulta en mysql, tengo entendido que la consulta tengo que ...
  #1 (permalink)  
Antiguo 25/04/2013, 11:09
 
Fecha de Ingreso: abril-2013
Mensajes: 9
Antigüedad: 11 años
Puntos: 0
recibir cadena json para llenar una tabla en jquery

Buenas tardes, quisera llenar una tabla en jquery con unos datos que obtengo de una consulta en mysql, tengo entendido que la consulta tengo que realizarla en php y paso los resultados a jquery mediante json, el codigo que tengo en php es el siguiente:

Código:
<?php 

//Declaracion de variables para la consulta
$inicial = $_POST['f_ini'];
$final = $_POST['f_fin'];

// conexion a mysql

$conexion = mysql_connect("localhost","root","admin");
if(!$conexion){
die('No he podido conectar: '.mysql_error());
}

// selecciono la base de datos

mysql_select_db("interrupciones",$conexion);

// Realizo consulta

$peticion = mysql_query("SELECT * FROM postoperacion WHERE (fechai >='".$inicial."') and (fechaf <='".$final."')");
 
$resulset = $peticion;
 
$arr = array();
while ($obj = mysql_fetch_object($resulset)) {
    $arr[] = array('id' => $obj->id,
                   'fi' => $obj->fechai,
				   'ff' => $obj->fechaf,
				   'sb' => $obj->subes,
                   'ci' => $obj->circuito,
				   'com' => $obj->componente,
				   'ca' => $obj->causa,
                   'du' => $obj->duracion,
				   'kv' => $obj->kvafci,
				   'ua' => $obj->uafectado,
         
        );
}
json_encode($arr);
	?>
ahora como recibo estos datos en jquery? esa consulta la tengo en un archivo unico. como tendria que estructurarlo?

gracias
  #2 (permalink)  
Antiguo 25/04/2013, 11:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: recibir cadena json para llenar una tabla en jquery

Creo que tu problema es más del lado de como usar jQuery, te sugiero consultar el manual para conocer los métodos Ajax que necesitas.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 25/04/2013, 16:03
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años
Puntos: 131
Respuesta: recibir cadena json para llenar una tabla en jquery

Si envias datos a PHP mediante ajax asegurate de enviar la cabecera correcta mediante setRequest Header.

Lo unico que le hace falta a tu codigo es imprimir la cadena JSON, entonces el resultado(la cadena json impresa) sera la respuesta que vas a recibir con responseText por ejemplo

Código Javascript:
Ver original
  1. cadenajson = obj.responseText;

Hasta aqui es una cadena simple, para convertir esa cadena en codigo javascript hay que evaluarla con la funcion eval

Código Javascript:
Ver original
  1. nuevoelementojavascript = eval(cadenajson);

nuevoelementojavascript ya es parte de javascript

Salu2
  #4 (permalink)  
Antiguo 25/04/2013, 18:07
 
Fecha de Ingreso: abril-2013
Mensajes: 6
Antigüedad: 11 años
Puntos: 1
Respuesta: recibir cadena json para llenar una tabla en jquery

Como dice: "Pateketrueke", lo mejor es que veas la documentación de Ajax con Jquery para que entiendas mejor y veas todos los casos.

Por lo que entiendo quieres convertir tu objeto devuelto por tu PHP en una tabla usando JQuery y no sólo imprimirlo como viene.

Te presentaré un ejemplo sencillo de como llamar JSON desde un Ajax con Jquery, ya será cosa tuya adaptarlo a tus necesidades; el ejemplo está un poco inspirado a lo que tu pides, pero no está a tus necesidades, así que estudialo y adaptalo.
Código Javascript:
Ver original
  1. $.ajax({
  2.     url: "ajax.php", /* Llamamos a tu archivo */
  3.     data: "parametro=si&", /* Ponemos los parametros de ser necesarios */
  4.     type: "POST",
  5.     contentType: "application/x-www-form-urlencoded",
  6.     dataType: "json",  /* Esto es lo que indica que la respuesta será un objeto JSon */
  7.     success: function(data){
  8.         /* Supongamos que #contenido es el tbody de tu tabla */
  9.         /* Inicializamos tu tabla */
  10.         $("#contenido").html('');
  11.         /* Vemos que la respuesta no este vacía y sea una arreglo */
  12.         if(data != null && $.isArray(data)){
  13.             /* Recorremos tu respuesta con each */
  14.             $.each(data, function(index, value){
  15.                 /* Vamos agregando a nuestra tabla las filas necesarias */
  16.                 $("#contenido").append("<tr><td>" + value.id + "</td><td>" + value.fecha + "</td><td>" + value.circuito + "</td><td>" + value.duracion + "</td></tr>");
  17.             });
  18.         }
  19.     }
  20. });

Ahí está, lo escribí rápido, así que espero no traiga ningún error de dedo (o de cabeza) por ahí.

Por cierto, en tu archivo no imprimes tu cadena codificada, la deberías de imprimir para que el Ajax la pudiese atrapar.

Nos leemos y suerte.

P.D. Por si alguien vio los "." en lugar de los "+" que dejé por unos minutos, me disculpo, estaba programando en PHP antes de contestar esto y bueno... mi mente se confundió.

Etiquetas: cadena, jquery, json, mysql, php, recibir, resultados, select, tabla, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:32.