
Cargar un array de array desde consulta SQL en PHP
Publicado por David Ariel (4 intervenciones) el 14/09/2016 23:29:36
Buenas tardes.
He estado con este problema desde hace mucho tiempo y no logro solucionarlo. Lo que debo realizar es lo siguiente:
Tengo dos tablas (Clientes) - (Contactos) y tengo que devolver la lista de clientes con sus respectivos contactos en formato JSON ej: {"exito":true,"datos":[{"ruc":11111,"nombre":"aaaa","contactos":[{"nombre":"Roberto"},{"nombre":"Adrian"}]},{"ruc":22222,"nombre":"isijs","contactos":[{"nombre":"Maria"}]},{"ruc_ci":33333,"nombre":"bbbbbbb","contactos":[{"nombre":"Damian"},{"nombre":"Rosana"}]}],"errores":[]}
Me tira un resultado pero a todos los clientes le asigna el mismo contacto, tengo que mencionar que soy nuevo en PHP
He estado con este problema desde hace mucho tiempo y no logro solucionarlo. Lo que debo realizar es lo siguiente:
Tengo dos tablas (Clientes) - (Contactos) y tengo que devolver la lista de clientes con sus respectivos contactos en formato JSON ej: {"exito":true,"datos":[{"ruc":11111,"nombre":"aaaa","contactos":[{"nombre":"Roberto"},{"nombre":"Adrian"}]},{"ruc":22222,"nombre":"isijs","contactos":[{"nombre":"Maria"}]},{"ruc_ci":33333,"nombre":"bbbbbbb","contactos":[{"nombre":"Damian"},{"nombre":"Rosana"}]}],"errores":[]}
Me tira un resultado pero a todos los clientes le asigna el mismo contacto, tengo que mencionar que soy nuevo en PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
//$data = $_POST['datos'];
$data = '{"num_cedula":"3479550"}';//la aplicacion pasa el numero de cedula del ejecutivo
$arrayData = json_decode($data, true); //se desgloza el json que trae la app
$num_cedula = $arrayData["num_cedula"]; //se almacena el numero de cedula en la variable
*************CONEXION BASE DE DATOS*****************/
$usuario= 'xx';
$pass = 'xxxxxxxxxx';
$servidor = 'xxxxxxxxxx';
$basedatos = 'xxxxxxxxxx';
$info = array('Database'=>$basedatos, 'UID'=>$usuario, 'PWD'=>$pass);
$conexion = sqlsrv_connect($servidor, $info);
/*----------------------------------------------------*/
/*************DEFINICION DE VARIABLES****************/
$contactos = []; //es el array en donde se van a almacenar todos los contactos de los cada cliente
$contacto = [];
$clientes = [];
$cliente = [];
/*************CONSULTAS A LA BASE DE DATOS********************/
//SRCIPT PARA OBTENER LOS CLIENTES//
$sql_clientes = "select c.RucCI, DV, Nombre, c.Apellido, c.Telefono, NombreEmpresa, c.Direccion, c.CodEjecutivo, e.NumCedula
from EM_SE_Cliente c
join EM_GO_AsignarEjecutivo a on a.Codigo = c.codejecutivo
join Baltic.dbo.EM_Ejecutivos e on a.NumCedula = e.NumCedula
where e.NumCedula = $num_cedula
";
$stmtc = sqlsrv_query($conexion, $sql_clientes);
$i = 0;
while($row_c = sqlsrv_fetch_object($stmtc)){
$clientes["ruc_ci"]=$row_c->RucCI;
$clientes["nombre"]=$row_c->Nombre;
$ruc_ci = $clientes["ruc_ci"];
$sql_contactos = "select NombreApellido, Apellido, Telefono, Observaciones from EM_GCS_Contactos
where RucCI = $ruc_ci";
$stmt = sqlsrv_query($conexion, $sql_contactos);
$p = 0;
while ($row = sqlsrv_fetch_object($stmt)){
$contactos[$p]["nombre"]=$row->NombreApellido;
$p = $p++;
}
//array_push($contacto, $contactos);
$clientes["contactos"]=$contactos;
array_push($cliente, $clientes);
$i = $i++;
}
/*-------------------------------------------------------------------*/
$resp = array("exito"=>true,"datos"=>$cliente,"errores"=>array());
$jsonResponse = json_encode($resp);
echo $jsonResponse;
?>
Valora esta pregunta


0