2016-06-07 3 views
3

Хотите изменить массив.array 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 

$ строки [ "ID"] уникальный в 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] => строка (2) "11"} ["ADD_TIME"] => массив (1) {[54051] => строка (19) "2016 -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"]); 

    } 

И попытайтесь сбросить это снова. Теперь у вас будет 3 массива внутри DECLARED_FAULT, а остальные