Foros del Web » Programando para Internet » Javascript » Frameworks JS »

PHP y Json

Estas en el tema de PHP y Json en el foro de Frameworks JS en Foros del Web. Hola foro: Despues de investigar y de interrumpir a 'gigantes' de la programacion, continuo lleno de dudas. Supongamos que deseo cargar con ajax una web ...
  #1 (permalink)  
Antiguo 24/11/2008, 15:15
Avatar de killerangel  
Fecha de Ingreso: septiembre-2007
Ubicación: Un punto en el espacio
Mensajes: 592
Antigüedad: 16 años, 7 meses
Puntos: 10
PHP y Json

Hola foro:

Despues de investigar y de interrumpir a 'gigantes' de la programacion, continuo lleno de dudas.

Supongamos que deseo cargar con ajax una web con la lista de cursos de un docente en una tabla con la siguiente estructura:

NOMBRE DE CURSO | GRADO | SECCION | ALUMNOS | VER HORARIO | ELIMINAR
****matematica ****|*** 5****| ****C**** | * ver lista* |**** (icono)****|***(icono)***

envio (ya sea por post o get) el id del docente, en el server recepciono la variable y busco en la base de datos, obtengo los resultados y empiezo a llenar la tabla con nombres, links, incluso codigo javascript en la q estan las funciones q realizan dar click en ver lista, ver horaio, eliminar... esto es lo recibo en el REQUEST, es decir la pagina lista para mostrar.

*donde entra el Json en todo esto?

*como recibo los datos en formato json? y despues de recibirlos como los uso para llenar la tabla?

*recibir un objeto del server es json? (me dijeron q si)... pero como se envia un objeto del server y como se lo trata como json?

*si recibo un objeto y lo trato como json. no resulta mas trabajoso llenar la tabla (para el ejemplo) q si lo tratara directamente con php y recibir html y las funciones js a usar?

gracias

P.D. gracias a todos los 'grandes' q he molestado hoy con mis preguntas.
__________________
Sueñen... y trabajen por hacer esos sueños realidad... de eso se construye el futuro!!
Me siento entre la ASP-ada y la PHP-red
  #2 (permalink)  
Antiguo 24/11/2008, 15:24
Avatar de jseros  
Fecha de Ingreso: agosto-2008
Ubicación: Bogotá
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 18
Respuesta: [PREGUNTA PARA AVANZADOS] PHP y Json

Hola,

Aquí está uan función para los que no tengan la extención JSON de PHP activada: http://jseros.wordpress.com/2008/07/...on-para-todos/

Y Aquí el cómo capturar los datos en el cliente sin errores:

http://jseros.wordpress.com/2008/07/...id-label-json/

Saludos

PD. Aunque si usas Jquery puedes limpiar el código que llega y dejarlo sin riesgos.

Última edición por jseros; 24/11/2008 a las 15:27 Razón: Mejorar respuesta
  #3 (permalink)  
Antiguo 24/11/2008, 15:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: [PREGUNTA PARA AVANZADOS] PHP y Json

Por favor no uses esta clase de titulos, la idea de un foro es que todos participen, al tu limitar tus respuestas, haces que la gente no quiera entrar a ver tu tema.

Respondiendo a tu duda, la idea en lugar de recibir toda la pagina lista para mostrar, tu recibas la estructura en JSON de lo que vas a poner en tu tabla, y via Javascript manipules el DOM de tu tabla y vayas insertando los datos.

Titulo de tema editado.

Tema trasladado a AJAX.
  #4 (permalink)  
Antiguo 24/11/2008, 15:36
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: PHP y Json

primero es conveniente que sepas acerca de las funciones de JSON para php

http://php.net/json_encode
http://php.net/json_decode

Cita:
*si recibo un objeto y lo trato como json. no resulta mas trabajoso llenar la tabla (para el ejemplo) q si lo tratara directamente con php y recibir html y las funciones js a usar?
piensa en esta parte, cuantos caracteres necesitas para una tabla de HTML y JS .. bastantes

ahora, en notación JSON (no es un objeto, hasta que se evalúe) esto se reduce considerablemente, dejando a la mano tan solo la información ...

y bueno, usando callbacks y el DOM de javascript es mas simple de lo que imaginas construir con todo y eventos la tabla, de echo, es mejor


Código HTML:
<div id="un_id"></div> 
en javascript, es simple...

Código:
var buzz = $.ajax('foo.php', {'candy':'bar'}, function(res) {
  var obj = eval('(' + res + ')');

  for (var i in obj)
  {
    $('<b>' + obj[i].title + ': ' + obj[i].description + '</b>').bind('click', function() {
      alert('seleccionaste a ' + obj[i].name);
    }).appendTo('un_id');
  }
});
foo.php
Código PHP:
<?php

// ...

$data = array();
while (
$row mysql_fetch_array($result))
{
  
$data[] = $row;
}

header('content-type: application/json');
echo 
json_encode($data);

// --
bueno, es mas o menos el concepto así ... no es necesario que abordes JSON si te es mas cómodo usar HTML y ya... de veras!

incluso, no se bien como hacer con tablas... pero como uso jQuery seguro hay un plugin que hace esto por ti...

suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 24/11/2008, 15:37
Avatar de killerangel  
Fecha de Ingreso: septiembre-2007
Ubicación: Un punto en el espacio
Mensajes: 592
Antigüedad: 16 años, 7 meses
Puntos: 10
Respuesta: [PREGUNTA PARA AVANZADOS] PHP y Json

Cita:
Iniciado por GatorV Ver Mensaje
Por favor no uses esta clase de titulos, la idea de un foro es que todos participen, al tu limitar tus respuestas, haces que la gente no quiera entrar a ver tu tema.
Mis disculpas, tienes razon, pero es q concideré lo contario, que poner el titulo podría atraer a mas usuarios metidos en el tema.
__________________
Sueñen... y trabajen por hacer esos sueños realidad... de eso se construye el futuro!!
Me siento entre la ASP-ada y la PHP-red
  #6 (permalink)  
Antiguo 24/11/2008, 15:39
Avatar de jseros  
Fecha de Ingreso: agosto-2008
Ubicación: Bogotá
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 18
Respuesta: PHP y Json

JQGrid te crea una tablas con muchas funcionalidades y es un plugin de JQuery.

Demos: http://www.trirand.com/jqgrid/jqgrid.html
Author y descarga: http://www.trirand.com/blog/
  #7 (permalink)  
Antiguo 24/11/2008, 15:53
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Respuesta: PHP y Json

loading.............


Bueno, JSON no es mas que una forma de 'nomenclatura/cadena... o similar' para intercambiar datos no solo entre cliente servidor, sino entre diferentes lenguajes

por ejemplo en javascript creas un Objeto (tabla de dispersión) asi:

Código PHP:
var = {
    
a:1,
    
b:2,
    
c:[1,2,3]
}; 
en php

Código PHP:
$a = new stdClass();
$a->a=1;
$a->b=1;
$a->c=array(1,2,3); 
Ahora bien para tener un puente entre ambos, es que se ha creado la "nomenclatura" JSON que llega a ser similar a XML.

y en formato json sería

{"a":1,"b":2,"c":[1,2,3]}

Esto es a lo que llamamos tabla de dispersión.

Bueno ahora bien, 2 cosas que debes saber:

1.- En el lado javascript, se debe incluir un archivo.. generalmente json.js que se lo baja de http://json.org/
2.- Y en el lado php tambien se incluye el parser de json.. lo encuentras en la misma web (json.org) aunque aunque ahora json ya es parte del nucleo de PHP pero NO POR DEFECTO.


Cita:
*donde entra el Json en todo esto?
Bueno, en tu caso por ejemplo solo envias el nombre del curso.. entonces por ejemplo tu peticion AJAX es

"curso=octavo"

Tienes 2 alternativas.

1.- En el lado PHP recibes $_REQUEST['curso'] y simplemente haces la consulta a la base de datos y sueltas un HTML. ACA NO USAS JSON.... no hay necesidad.

2.- Quetal si ahora necesitas

1.- curso
2.- numero_de_alumnos
3.- profesor_asignado

Esto para que? .. por ejemplo tienes tu pagina web con una tabla del curso que se ha seleccionado y el parte superior quieres mostrar el numero de alumnos del curso, y en la parte inferior el profesor asignado.

Que harás?

Hacer 3 peticiones y mostrar el HTML de cada uno en el lugar designado? NO, en este caso necesitas 3 variables que usarás A TU ANTOJO

entonces tenemos

"curso=octavo"

Y en php envias esto.

Código PHP:
//blabla tu consulta SQL
$a = new stdClass();
$a->alumnos=231;
$a->profesor='pepe';
$a->curso="<table>blablabla el HTML del curso</html>";

include_once(
'class.json.php');    
$json = new Services_JSON();
echo 
$json->encode($a); 
Esto te genera una cadena similar a

{'alumnos':21,'profesor':'pepe',curso:'<table>blab labla el HTML del curso</html>'};

y con javascript lo que haces es Parsearlo con JSON (creado par javascript)

Código PHP:
var datos responseText.parseJSON();

elnumerodealumnos.innerHTML=datos.alumnos;
profesor.innerHTML=datos.profesor;
section_para_tabla_curso.innerHTML=datos.curso
Como vez, aca recibiste 3 variables y lo has usado como te dio la gana :D

Esa es la utilidad de JSON, la posibilidad de intercambios datos entre Diferentes Lenguajes en este caso JSON <-> PHP

Dentro de Javascript usaste un objeto creado con PHP y también puedes hacerlo viceversa


Cita:
*si recibo un objeto y lo trato como json. no resulta mas trabajoso llenar la tabla (para el ejemplo) q si lo tratara directamente con php y recibir html y las funciones js a usar?
Tienes que darle una buena utilidad, si envías y recibes una variable, no tienes porque usarlo. Pero si tienes la necesidad de manipular los datos que vas a recibir, entonces necesitas JSON o XML.

PD: JSON generalmente es usado en ambientes AJAX. ya que en aplicaciones avanzadas se hace un intercambio masivo de datos es por eso que solo se actualizan pequeñas partes de la aplicación.


connection closed.
__________________

Maborak Technologies
  #8 (permalink)  
Antiguo 24/11/2008, 16:20
Avatar de killerangel  
Fecha de Ingreso: septiembre-2007
Ubicación: Un punto en el espacio
Mensajes: 592
Antigüedad: 16 años, 7 meses
Puntos: 10
Respuesta: PHP y Json

Como dicen en mi pais... ASU MARE OE!!!!

Veo q me falta mucho por aprender . Gracias por sus respuestas y parece ser q Json tiene mas aplicacion de lo q pense y no puedo dejar de pensar en su potencial para las aplicaciones q se vienen.

GRACIAS CHICOS SON LO MAXIMO!!

P.D. me senti con ganas de saber tanto como ustedes... jojojo
__________________
Sueñen... y trabajen por hacer esos sueños realidad... de eso se construye el futuro!!
Me siento entre la ASP-ada y la PHP-red
  #9 (permalink)  
Antiguo 24/05/2010, 13:33
 
Fecha de Ingreso: junio-2005
Mensajes: 4
Antigüedad: 18 años, 10 meses
Puntos: 0
Respuesta: PHP y Json

Hola, estoy usando el jqgrid pero no me pinta los datos en la grilla que puede ser http://www.transcastaneda.com/lpropietario.php
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 23:44.