Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/02/2013, 08:38
Avatar de catpaw
catpaw
 
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 13 años, 11 meses
Puntos: 23
agregar datos a un arreglo json

Que tal, buen día!

Bueno pues tengo un archivo php que realiza una consulta mysql y los resultados se meten en un arreglo que es devuelto en json, aquí el código:

Código PHP:
Ver original
  1. require_once("../JSON.php");
  2. include('../conexion.php');
  3. $con_db = conexion();
  4.  
  5. $page = isset($_POST['page']) ? intval($_POST['page']) : 1;
  6. $rows = isset($_POST['rows']) ? intval($_POST['rows']) : 10;
  7. $offset = ($page-1)*$rows;
  8. $result = array();
  9.  
  10. $q = isset($_POST['q']) ? strval($_POST['q']) : '';
  11.    
  12. $rs = mysql_query("select count(*) from tabla");
  13. $row = mysql_fetch_row($rs);//or die(mysql_error())
  14. $result["total"] = $row[0];
  15. $rs = mysql_query("select * from t_tabla where campo LIKE '%$q%' limit $offset,$rows");
  16.  
  17. $json = new Services_JSON;
  18.  
  19. $items = array();
  20. while($row = mysql_fetch_object($rs)){
  21.     array_push($items, $row);
  22. }
  23. $result["rows"] = $items;
  24.  
  25. echo $json->encode($result);

Hasta ahí todo bien, pero necesito tomar algunos registros de esa consulta y realizar otras consultas y despues agregar en el json devuelto tambien los resultados de las otras consultas, algo así:

Código PHP:
Ver original
  1. require_once("../JSON.php");
  2. include('../conexion.php');
  3. $con_db = conexion();
  4.  
  5. $page = isset($_POST['page']) ? intval($_POST['page']) : 1;
  6. $rows = isset($_POST['rows']) ? intval($_POST['rows']) : 10;
  7. $offset = ($page-1)*$rows;
  8. $result = array();
  9.  
  10. $q = isset($_POST['q']) ? strval($_POST['q']) : '';
  11.    
  12. $rs = mysql_query("select count(*) from tabla");
  13. $row = mysql_fetch_row($rs);//or die(mysql_error())
  14. $result["total"] = $row[0];
  15. $rs = mysql_query("select * from t_tabla where campo LIKE '%$q%' limit $offset,$rows");
  16.  
  17. $items = array();
  18.  
  19. while($fila = mysql_fetch_array($rs,MYSQL_ASSOC)){ //uso un fetch_array para obtener los registros
  20.     $nombre_1 = @mysql_result(mysql_query("select nombre from tabla_1 where clave='".$fila['clave_1']."'"), 0);
  21.     $nombre_2 = @mysql_result(mysql_query("select nombre from tabla_2 where clave='".$fila['clave_2']."'"), 0);
  22.     $nombre_3 = @mysql_result(mysql_query("select nombre from tabla_3 where clave='".$fila['clave_3']."'"), 0);
  23. }
  24.  
  25. while($row = mysql_fetch_object($rs)){
  26.     array_push($items, $row); //fusionar aquí "nombre1:".$nombre_1.", nombre2:".$nombre_2.", nombre3:".$nombre_3
  27. }
  28. $result["rows"] = $items;
  29.  
  30. $json = new Services_JSON;
  31.  
  32. echo $json->encode($result);

Pues como notan, de la primer consulta saco con un fetch_array los valores que necesito para hacer las otras 3 consultas, hago un echo a las variables $nombre_1, $nombre_2 y $nombre_3 y si veo los valores correspondientes.

Lo que ya no se es como podria fusionar los valores de $row y las variables de modo que queden como si hubieran sido resultado de la misma consulta para el arreglo json.

agregar esto por ejemplo; "nombre1:".$nombre_1.", nombre2:".$nombre_2.", nombre3:".$nombre_3

:S

Algun ejemplo o idea de como podria lograr la salida del json con estos valores?

Gracias!

Última edición por catpaw; 13/02/2013 a las 08:44