2016-06-07 55 views
3

想改變數組。assoc array php mysql

while ($row=mysql_fetch_assoc($arresult['result'])){ 
     $arr[] = $row;        
     }  

結果:

 $arr = 
    0 => id    => 52122 
     DECLARED_FAULT => blabla 
     CNT   => 55 
     add_time  => 2016-06-07 13:26:02 

    1 => id    => 52123 
     DECLARED_FAULT => blabla2 
     CNT   => 93 
     add_time  => 2016-06-07 13:26:05  

需要一種陣列的

DECLARED_FAULT => 52122 => blabla 
        52123 => blabla2 

CNT   => 52122 => 55 
        52123 => 93 

ADD_TIME  => 52122 => 2016-06-07 13:26:02 
        52123 => 2016-06-07 13:26:05 

$行[ 「身份證」]在MySQL中是唯一的;

while ($row=mysql_fetch_assoc($arresult['result'])){ 

     $arr["DECLARED_FAULT"] = array($row["id"] => $row["DECLARED_FAULT"]); 
     $arr["CNT"] =   array( $row["id"] => $row["CNT"]);  
     $arr["ADD_TIME"] =  array($row["id"] => $row["ADD_TIME"]); 

     } 

這取給我只有一個記錄

陣列(3){[ 「DECLARED_FAULT」] =>數組(1){[54051] =>串(71) 「布拉布拉」 } [「CNT」] => array(1){[54051] => string(2)「11」} [「ADD_TIME」] => array(1){[54051] => string(19) -06-07 13:26:02「}}

+0

而不是$ arresult ['result']寫$ query變量。 – srinivas

回答

1

請嘗試此操作。

while ($row=mysql_fetch_assoc($arresult['result'])){ 

    $arr["DECLARED_FAULT"][$row["id"]] = $row["DECLARED_FAULT"]; 
    $arr["CNT"][$row["id"]] =   $row["CNT"]; 
    $arr["ADD_TIME"][$row["id"]] =  $row["ADD_TIME"]; 

} 
+0

這也是一個選項,根據他想要的不是正確的。他想要一個陣列。另一方面,技術上你的答案可能會更好。 – Chilion

0

您必須爲此創建一個額外的數組,請嘗試此代碼;

while ($row=mysql_fetch_assoc($arresult['result'])){ 

    $arr["DECLARED_FAULT"][] = array($row["id"] => $row["DECLARED_FAULT"]); 
    $arr["CNT"][] =   array( $row["id"] => $row["CNT"]);  
    $arr["ADD_TIME"][] =  array($row["id"] => $row["ADD_TIME"]); 

    } 

並嘗試再次轉儲。您現在將在DECLARED_FAULT中有3個數組,其他數字