2016-01-20 54 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; 
    }