2014-07-08 102 views
-1

我有一個MySQL的列爆炸方法PHP的:mysql列爆炸前綴陣列

這裏是代碼:

$barang2=mysql_query("select * from tbl_barang WHERE INDX=2"); 
while($c=mysql_fetch_array($barang2)) {    
    $result = "$c[DESKRIPSI]<br />"; 

    $rows = explode("#", $result); 

    for($i = 0; $i < count($rows); $i++) { 
     $temp = explode(':', $rows[$i]); 
     $IDK = $temp[1]; 
     $ID = array("ID Kategori : ","Kategori : ","Warna : ","Ukuran : ","B : "); 



     //echo '<br />' . $ID . ' : '; 
     echo $ID[0]. ' : '. $IDK[0] . '<br />'; 
     echo $ID[1]. ' : '. $IDK[1] . '<br />'; 
     echo $ID[2]. ' : '. $IDK[2] . '<br />'; 
     echo $ID[3]. ' : '. $IDK[3] . '<br />'; 
     echo $ID[4]. ' : '. $IDK[4] . '<br />'; 
    } 
} 

我得到的MySQL列在那裏它像IDK:16#K:BAJU#W:HITAM#U:L#B:120G

然後嘗試得到它像

ID Kategori : 16 
Kategori : BAJU 
Warna : HITAM 
Ukuran : L 
B : 120G 

但我不能撥打像偏移量3210並加入第一個數組...

+1

停止使用'mysql_'函數,因爲它們已被棄用。切換到'mysqli_'或'PDO'。 (與主題一起)。 '$ result'沒有行,它是一個數組。這裏不需要for循環。 –

+0

我嘗試單個回聲像'echo $ ID。 ':'。 $ IDK。 '
';''但是'$ ID'沒有出現在我的每一個數組中...... – user3816415

回答

0

您似乎在表中的字段中具有分隔的數據結構。這往往是可怕的過程。

但如果你真的必須使用那麼我想你想放什麼了可以這樣進行: -

$barang2=mysql_query("select * from tbl_barang WHERE INDX=2"); 
while($c=mysql_fetch_array($barang2))  
{    
    $fields = explode("#", $c[DESKRIPSI]); 

    $ID = array("ID Kategori : "=>'',"Kategori : ">'',"Warna : ">'',"Ukuran : ">'',"B : ">''); 
    foreach($fields AS $field_key=>$field_value) 
    { 
     $temp = explode(':', $field_value); 
     switch($temp[0]) 
     { 
      case 'IDK': 
       $ID["ID Kategori : "] = $temp[1]; 
       break; 
      case 'K': 
       $ID["Kategori : "] = $temp[1]; 
       break; 
      case 'W': 
       $ID["Warna : "] = $temp[1]; 
       break; 
      case 'U': 
       $ID["Ukuran : "] = $temp[1]; 
       break; 
      case 'B': 
       $ID["B : ">''] = $temp[1]; 
       break; 
      default: 
       // nothing 
       break; 
     } 

     foreach($ID AS $key=>$value) 
     { 
      echo $key. $value . '<br />'; 
     } 
    } 
} 

但它會更好地重新設計你的數據庫,以避免問題第一名。

+0

它變成了多個'$ key'和'$ value'並且回顯一個隨機數:( – user3816415