Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/02/2013, 09:13
Avatar de informacionsys
informacionsys
 
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
Respuesta: agregar datos a un arreglo json

hola

te doy un ejemplo de lo que pienso que buscas
Código PHP:
Ver original
  1. // obtener claves , me imagino no se
  2. $query1 = sprintf("select * from t_tabla where campo LIKE '%s' limit  %s %s","%".$q."%",$offset,$rows);
  3. $resultSet = mysql_query($query1,$db);
  4.  
  5. //recorrer resultado
  6.  
  7. while($recordSet = mysql_fetch_object($resultSet))
  8. {  
  9.  
  10.     //claves
  11.     $clave1 = $recordSet->clave1;
  12.     $clave2 = $recordSet->clave2;
  13.  
  14.     //consultamos la informacion de la clave 1
  15.     $resultSetClave1 = InfoClaves($clave1);
  16.  
  17.     //consultamos la informacion de la clave 2
  18.     $resultSetClave2 = InfoClaves($clave2);
  19.  
  20.     //creas el arreglo normal
  21.     $datos = array("matricula"=>$recordSet->matricula,
  22.                    "nombre"=>$recordSet->nombre,
  23.                    "sexo"=>$recordSet->sexo,
  24.                    "clave1"=>$clave1,
  25.                    "infoclave1"=>$resultSetClave1["infoclave"],// obtienes el nombre o cualquier dato que necesites de dicha clave1
  26.                    "clave2"=>$clave2,
  27.                    "infoclave2"=>$resultSetClave2["infoclave"]// obtienes el nombre o cualquier dato que necesites de dicha clave2
  28.                   );
  29.  
  30.     $salida[] = $datos;
  31. }
  32.  
  33. //retornar json
  34. $json_salida = array("numrows"=>$salida);
  35.  
  36. echo json_encode($json_salida);
  37.  
  38. function InfoClaves($clave)
  39. {
  40.     global $db;
  41.     $queryclave = sprintf("SELECT * FROM table_claves WHERE clave ='%s'",$clave);//query para consultar info de una clave
  42.     $resultSet = mysql_query($queryclave,$db);
  43.     $numrows = mysql_num_rows($resultSet);// numero de registros
  44.  
  45.     //creamos un arreglo
  46.     $output["numreg"] = $numrows;// cantidad de registros
  47.     $output["infoclave"] = mysql_fetch_object($resultSet);// informacion de la clave
  48.  
  49.     return $output;
  50.  
  51. }


si te fijas yo cree una indice infoclave para almacenar todos los datos que tiene la clave consultada

Código PHP:
Ver original
  1. "infoclave1"=>$resultSetClave1["infoclave"]

pero como tu deseas solo el nombre de la clave podria funcionar hacer esto

Código PHP:
Ver original
  1. "infoclave1"=>$resultSetClave1["infoclave"]->nombre_clave// nombre_clave obvio es el campo de la tabla de claves no jjeje

Última edición por informacionsys; 14/02/2013 a las 09:21