2016-01-20 59 views
0

我正在尝试几乎所有将新键和其值添加到结果查询。PHP - 为关联数组添加新的“键值”

$consulta = "SELECT p.id_empleado,count(p.id_empleado) as pendientes,e.nombre,e.apellidos FROM partidas_empleados p "; 
    $consulta.= "inner join empleados e on p.id_empleado=e.id_empleado "; 
    $consulta.= "WHERE abierta=TRUE group by id_empleado"; 

    $sql = $con->prepare($consulta); 
    $ok = $sql->execute(); 
    $query = $sql->fetchAll(PDO::FETCH_ASSOC); 

    for($i=0;$i<count($query);$i++){ 
     //echo "hola"; 
     $fila = $query[$i]; 
     $consulta = "SELECT id_partida FROM partidas_empleados where id_empleado=? "; 
     $sql = $con->prepare($consulta); 
     $ok = $sql->execute(array($fila['id_empleado'])); 
     $sub_query = $sql->fetchAll(PDO::FETCH_ASSOC); 
     //echo $sub_query; 
     //$fila[]= array("lista_partidas"=>$sub_query); 
     $fila['lista_partidas']= $sub_query; 
    } 

$sub_query只是一个asociative阵列

我试图用lista_partidas添加$sub_query$query作为重点的清单。

+0

在尝试添加'$ sub_query'之后'$ fila'看起来像什么?钥匙是否被添加,但没有价值?抛出异常吗? – kunruh

+2

'$ query [$ i] ['lista_partidas'] = $ sub_query;' – jeroen

+3

请记住,'$ fila'是'$ query'的_copy_。添加到'$ fila'不会改变'$ query'变量。 – kunruh

回答

0

正如@kunruh和@jeroen所说我正在创建一个副本并修改该副本。

$consulta = "SELECT p.id_empleado,count(p.id_empleado) as pendientes,e.nombre,e.apellidos FROM partidas_empleados p "; 
    $consulta.= "inner join empleados e on p.id_empleado=e.id_empleado "; 
    $consulta.= "WHERE abierta=TRUE group by id_empleado"; 

    $sql = $con->prepare($consulta); 
    $ok = $sql->execute(); 
    $query = $sql->fetchAll(PDO::FETCH_ASSOC); 

    for($i=0;$i<count($query);$i++){ 
     $consulta = "SELECT id_partida FROM partidas_empleados where id_empleado=? "; 
     $sql = $con->prepare($consulta); 
     $ok = $sql->execute(array($fila['id_empleado'])); 
     $sub_query = $sql->fetchAll(PDO::FETCH_ASSOC); 
     $query[$i]['lista_partidas']= $sub_query; 
    } 
相关问题