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个数组,其他数字