Foros del Web » Programando para Internet » PHP »

Json+ php + code

Estas en el tema de Json+ php + code en el foro de PHP en Foros del Web. Buenas hace tiempo que llego investigando sobre alguno forma que las solicitudes que se hagan por php se hagan mas rápida y me he dado ...
  #1 (permalink)  
Antiguo 14/04/2014, 14:44
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 13 años, 1 mes
Puntos: 0
Json+ php + code

Buenas hace tiempo que llego investigando sobre alguno forma que las solicitudes que se hagan por php se hagan mas rápida y me he dado cuenta que el json una manera sencilla de hacer las solicitudes y respuesta en un tiempo sincronizado. Asi que me puse a hacer varias solicitudes php-json y me da resultados correctos pero acá necesito su ayuda para que el json se mas completo busco la manera que entre todo una información en html.

Asi:

Código Java:
Ver original
  1. {"sync_t":"true","inner_html": "\u003cdiv\n Jos\u00e9 \u003c\/div\u003e\n  \u003cdiv\u003\n Sim\u00f3n \u003c\/div\u003e\n " }

pero se me hecho un fracaso he intentado que las solicitudes que se hagan en la base de datos se coloque en un variable pero o me revite tantas veces o me dice un error.

este es en php la solicitud del json

Código PHP:
Ver original
  1. header("Content-Type: text/html; charset=UTF-8");
  2. //Credenciales de la BBDD
  3. $db = "prueba";
  4. $host = 'localhost';
  5. $username = "prueba";
  6. $password = '123';
  7.  
  8. //Conectamos al servidor de la Base de datos
  9. $link = mysql_connect($host,$username,$password) or die("No se puede conectar");
  10. //Seleccionamos la BBDD
  11. mysql_select_db($db) or die ("No se ha podido seleccionar a la base de datos");
  12.  
  13.  
  14.  
  15. //Lanzamos la consulta
  16. $consulta = mysql_query("SELECT * from usuarios");
  17. //Creamos un array para almacenar los resultados
  18.  
  19. $html = array();
  20.  
  21. //Agregamos las filas devueltas al array
  22. while ($r = mysql_fetch_assoc($consulta)) {
  23.    
  24.     $html[]= $r['nombre'];
  25.    
  26. }
  27.  
  28. //Devolvemos el resultado
  29. $miArray = array("sync_t"=>"true", "inner_html"=>$html);
  30. echo print_r(json_encode($miArray));


Por favor necesito su ayuda me estoy volviendo loco.
  #2 (permalink)  
Antiguo 14/04/2014, 15:22
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: Json+ php + code

Código PHP:
echo print_r(json_encode($miArray)); 
No creo que esta linea pueda funcionarte , un print_r Y un echo no es necesario, ya que con el json encode el array se convierte en una cadena de texto, pudiendo dejarlo tranquilamente así
Código PHP:
echo json_encode($miArray); 
Me imagino que eso no es lo que estabas preguntando...dijistes que tu problema reside en que tu funcion no puede devolver json tal cual? me podrias decir mas que es lo que exactamente quieres, que falla, etc
__________________
Pautas php:
No usar libreria mysql, usa mysqli; Separar siempre los controladores de la vista; Procedual es feo, ama los objetos
  #3 (permalink)  
Antiguo 14/04/2014, 15:42
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Json+ php + code

Bueno en si lo trato de buscar es que hacer una solicitud los datos que responda es un json, así que imagínate que un usuario pida una información personal que esta en la base de datos; nombre completo, fecha de nacimiento, últimos dos comentarios, etc.

entonces en php ordena todos los datos:

Código HTML:
Ver original
  1. <div class="x-info">
  2.  
  3. <p>Información</p>
  4.  
  5. <span>Nombres: <strong>José Pérez</strong> </span>
  6.  
  7. <span>Fecha de nacimiento: <strong>09-07-1784</strong> </span>
  8.  
  9. <div>
  10.  
  11. <div class="comentarios" id="27">
  12.  
  13. <div id="27"><strong>José Pérez</strong> </div>
  14.  
  15. <span>Hola, como estan <strong>4 de abril</strong> </span>
  16.  
  17. </div>
  18.  
  19. <div class="comentarios" id="24">
  20.  
  21. <div id="24"><strong>José Pérez</strong> </div>
  22.  
  23. <span>Wow gran dia hoy <strong>1 de abril</strong> </span>
  24.  
  25. </div>

asi queda en html, pero todo esos codigo html insertado en json:

Código Javascript:
Ver original
  1. {"sync_t":"true","inner_html": "\u003cdiv class=\"x-info\"\u003e \u003cp\u003eInformaci\u00f3n\u003c\/p\u003e \u003cspan\u003eNombres: \u003cstrong\u003eJos\u00e9 P\u00e9rez\u003c\/strong\u003e \u003c\/span\u003e \u003cspan\u003eFecha de nacimiento: \u003cstrong\u003e09-07-1784\u003c\/strong\u003e \u003c\/span\u003e \u003cdiv\u003e \u003cdiv class=\"comentarios\" id=\"27\"\u003e \u003cdiv id=\"27\"\u003e\u003cstrong\u003eJos\u00e9 P\u00e9rez\u003c\/strong\u003e \u003c\/div\u003e \u003cspan\u003eHola, como estan \u003cstrong\u003e4 de abril\u003c\/strong\u003e \u003c\/span\u003e \u003c\/div\u003e \u003cdiv class=\"comentarios\" id=\"24\"\u003e \u003cdiv id=\"24\"\u003e\u003cstrong\u003eJos\u00e9 P\u00e9rez\u003c\/strong\u003e \u003c\/div\u003e \u003cspan\u003eWow gran dia hoy \u003cstrong\u003e1 de abril\u003c\/strong\u003e \u003c\/span\u003e \u003c\/div\u003e " }

asi es como quiero que quede al hacer la solicitud a php y que el resultado sea asi, pero he tratado de hacer eso y pero me da un resultado o un repetición o no da algún resultado.
  #4 (permalink)  
Antiguo 14/04/2014, 17:01
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: Json+ php + code

No entiendo realmente para que lo quieres así, normalmente, se suele hacer como has hecho en tu mensaje de presentación, un json con datos simplemente, y si esa función está destinada a responder a una peticion ajax de un javascript que luego usara el json para actualizar la página, pues ya con jquery modificas el dom y usas los resultados....Pero bueno, es mi experiencia personal, no te voy a contradecir y mas bien voy a ayudarte que para esto estas aqui

Aqui tienes el código que codifica json con el html como quieres.

Código PHP:
<?php

// your code goes here    header("Content-Type: text/html; charset=UTF-8");
    //Credenciales de la BBDD
    
$db "prueba";
    
$host 'localhost';
    
$username "prueba";
    
$password '123';
     
    
//Conectamos al servidor de la Base de datos
    
$link mysql_connect($host,$username,$password) or die("No se puede conectar");
    
//Seleccionamos la BBDD
    
mysql_select_db($db) or die ("No se ha podido seleccionar a la base de datos");
     
     
     
    
//Lanzamos la consulta
    
$consulta mysql_query("SELECT * from usuarios");
    
//Creamos un array para almacenar los resultados
     
    
$html = array();
     
    
//Agregamos las filas devueltas al array
    
while ($r mysql_fetch_assoc($consulta)) {
       
        
$html[]=   '<div class="x-info">
                     
                    <p>Información</p>
                     
                    <span>Nombres: <strong>'
.$r['nombre'].'</strong> </span>
                     
                    <span>Fecha de nacimiento: <strong>'
.$r['nacimiento'].'</strong> </span>
                     
                    <div>
                     
                    <div class="comentarios" id="'
.$r['id'].'">
                     
                    <div id="'
.$r['id'].'"><strong>José Pérez</strong> </div>
                     
                    <span>Hola, como estan <strong>4 de abril</strong> </span>
                     
                    </div>
                     
                    <div class="comentarios" id="24">
                     
                    <div id="24"><strong>José Pérez</strong> </div>
                     
                    <span>'
.$r['comentario'].' <strong>'.$r['f_comment'].'</strong> </span>
                     
                    </div>'
;
       
    }
     
    
//Devolvemos el resultado
    
$miArray = array("sync_t"=>"true""inner_html"=>$html);
    echo 
print_r(json_encode($miArray));
Cogí indices de array inventados porque no conozco tu base de datos, pero me imagino que se entiende lo que quise hacer.

Espero que haya entendido bien lo que quisistes hacer y que te haya podido ayudar
__________________
Pautas php:
No usar libreria mysql, usa mysqli; Separar siempre los controladores de la vista; Procedual es feo, ama los objetos
  #5 (permalink)  
Antiguo 14/04/2014, 17:24
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Json+ php + code

Gracias por la ayuda que me estas dando es que estoy un poco desordenado con mis ideas, Veamos si puedo explicarme así:

Al hacer una solicitud de esos comentarios del usuario se colocaria una variable asi como tu la colocaste:

Código PHP:
Ver original
  1. while ($r = mysql_fetch_assoc($consulta)) {
  2.  
  3.         $html[]=   '<div class="x-info">
  4.                      
  5.                      
  6.                    <div class="comentarios" id="'.$r['id'].'">
  7.                      
  8.                    <div id="'.$r['id'].'"><strong>'.$r['Nombre'].'</strong> </div>
  9.                      
  10.                    <span>'.$r['comentario'].' <strong>'.$r['Fecha'].'l</strong> </span>
  11.                      
  12.                    </div> ';
  13.        
  14.     }

sabemos como tomamos una variable de una consulta ilimitada solo tendremos una solo resulta. Es decir esa consulta solo que no especifique, solo me dará uno, lo que busco es que muestre todos los comentarios en ese html para poder colocarlo en json con todos los datos.

algo asi como hace facebook, twitter, etc. Que buscan su comentarios. algo así me refiero.

Me entiendes?
  #6 (permalink)  
Antiguo 14/04/2014, 17:35
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Json+ php + code

Ve acá encontré una consulta de Twitter, lo hace para solo decodificar y mostralo.

Código Javascript:
Ver original
  1. {"has_more_items":true,"items_html":" "new_tweets_bar_html":"\u003cdiv class=\"stream-item\"\u003e\n  \u003cdiv class=\"new-tweets-bar js-new-tweets-bar\" data-item-count=\"20\"\u003e\n    \n        20 nuevos Tweets\n  \u003c\/div\u003e\n\u003c\/div\u003e","new_tweets_bar_alternate_html":[]}

El servidor de Twitter hizo una consulta para saber si hay algún tweet nuevo.
  #7 (permalink)  
Antiguo 14/04/2014, 17:39
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: Json+ php + code

Espera, tu lo que quieres es saber como hacer que tu página web consiga un json del php en el momento en el que un usuario vaya abrir un comentario nuevo?

siento mucho que no consiga entenderte :/
__________________
Pautas php:
No usar libreria mysql, usa mysqli; Separar siempre los controladores de la vista; Procedual es feo, ama los objetos
  #8 (permalink)  
Antiguo 14/04/2014, 17:45
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Json+ php + code

Aja así, si claro. que vaya haciendo una consulta de los registro en la base de datos.

Creo que ahora me entiendes?
  #9 (permalink)  
Antiguo 14/04/2014, 17:52
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: Json+ php + code

vaaaaaaaaale, tu lo que quieres es saber como se realiza la consulta.

uffff jaja. Pues mira, se llama AJAX la técnica, con ella el firefox (o chrome) puede solicitar al php un json cuando un usuario quiera ver comentarios nuevos sin que tenga que actualizar la página, justamente estamos ayudando a otro usuario ahora mismo aquí:
http://www.forosdelweb.com/f18/autorrellenar-campo-formulario-basandose-entrada-campo-anterior-1096985/
__________________
Pautas php:
No usar libreria mysql, usa mysqli; Separar siempre los controladores de la vista; Procedual es feo, ama los objetos
  #10 (permalink)  
Antiguo 14/04/2014, 18:04
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Json+ php + code

No lo de la consulta lo se Ajax un setTimeout en cada intervalo que quiera actualizar, pero lo que busca es lo que hay adentro de la consulta, es decir los datos que va a mostrar el Json, sabes que si hago una consulta clasica me a mostra:

Código HTML:
Ver original
  1. <div class="comentarios" id="27">
  2.  
  3. <div id="27"><strong>José Pérez</strong> </div>
  4.  
  5. <span>Hola, como estan <strong>4 de abril</strong> </span>
  6.  
  7. </div>
  8.  
  9. <div class="comentarios" id="24">
  10.  
  11. <div id="24"><strong>José Pérez</strong> </div>
  12.  
  13. <span>Wow gran dia hoy <strong>1 de abril</strong> </span>
  14.  
  15. </div>

y tantas comentarios este en la base de datos, bueno que pasa si eso datos están insertado en json listo para decodificar y que la consulta sea mas rápida.
  #11 (permalink)  
Antiguo 15/04/2014, 07:41
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: Json+ php + code

-Sabes como crear un json cifrando un html
-Sabes como es la petición ajax del jquery

Lo único que quedaria es ordenar con el jquery los valores que recibes en el json del php, pero no creo que sea lo que me estes preguntando

Me rindo, explícamelo con peras y manzanas, ponme ejemplo, de verdad lo siento pero no caigo.

O espera, un último intento, es eso lo que quieres? saber como hacer que cuando json llega por ajax, que se meta en el html de la pagina?
__________________
Pautas php:
No usar libreria mysql, usa mysqli; Separar siempre los controladores de la vista; Procedual es feo, ama los objetos
  #12 (permalink)  
Antiguo 22/04/2014, 15:32
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Json+ php + code

Ok vamos a esto es una consulta php para que se muestre de forma json, correcto?

Código PHP:
Ver original
  1. // your code goes here    header("Content-Type: text/html; charset=UTF-8");
  2.     //Credenciales de la BBDD
  3.     $db = "prueba";
  4.     $host = 'localhost';
  5.     $username = "prueba";
  6.     $password = '123';
  7.      
  8.     //Conectamos al servidor de la Base de datos
  9.     $link = mysql_connect($host,$username,$password) or die("No se puede conectar");
  10.     //Seleccionamos la BBDD
  11.     mysql_select_db($db) or die ("No se ha podido seleccionar a la base de datos");
  12.      
  13.      
  14.      
  15.     //Lanzamos la consulta
  16.     $consulta = mysql_query("SELECT * from usuarios");
  17.     //Creamos un array para almacenar los resultados
  18.  
  19. while ($r = mysql_fetch_assoc($consulta)) {
  20.  
  21.        $html=   '<div class="x-info"> <strong>'.$r['nombre_completo'].'</strong></div> ';
  22.        
  23.     }
  24.  
  25. echo json_encode($html);

el resultado de eso seria así:

Código Javascript:
Ver original
  1. {"sync_t":"true","inner_html":"<div class=\"x-info\"> <strong>Sim\u00f3n<\/strong><\/div> "}1{"sync_t":"true","inner_html":"<div class=\"x-info\"> <strong>Sim\u00f3n<\/strong><\/div> "}

pero aquí va mi problema y me juzgues T-T; ese no el único usuario en la base de datos así que busca la manea que muestre todos los usuarios en esa variable para que de todos los resultados en la base de datos.
  #13 (permalink)  
Antiguo 23/04/2014, 08:56
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: Json+ php + code

Es que ahi tienes un fallo, con ese código solo se mostraria el json del ultimo usuario de la base de datos, no de varios.

Código PHP:
Ver original
  1. while ($r = mysql_fetch_assoc($consulta)) {
  2.  
  3.        $html=   '<div class="x-info"> <strong>'.$r['nombre_completo'].'</strong></div> ';
  4.        
  5.     }

deberia ser

Código PHP:
Ver original
  1. while ($r = mysql_fetch_assoc($consulta)) {
  2.  
  3.        $html[]=   '<div class="x-info"> <strong>'.$r['nombre_completo'].'</strong></div> ';
  4.        
  5.     }

Ahora la el echo json tendrá todos los perfiles de usaurio.

Perooo, en tu primer mensaje tu si habias puesto los cochetes...
__________________
Pautas php:
No usar libreria mysql, usa mysqli; Separar siempre los controladores de la vista; Procedual es feo, ama los objetos

Etiquetas: code, json
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 11:46.