2015-05-09 35 views
0

我有代碼,表上的數據有成功顯示,但我陣列上的問題..我在這裏解釋,你可能知道我的代碼的解決方案。感謝您的幫助數組仍然重複或重複在PHP上的每個類別

//this code for get kategori 
$arr=array(); 
$qs=mysql_query("select * from kt_barang",$con); 
while($s=mysql_fetch_array($qs)){ 
     $arr=$s['kd_kategori']; 
} 


$n = 0; 
$c = count($arr); 
while ($n < $c) { 
    $a = $arr[$n]; 
?> 
<table border="1"> 
<?php 

$q=mysql_query("select * from t_barang where kategori='$a'",$con); 

echo '<tr>'; 
echo '<td style="width:30px;text-align:center;">'.$a.'</td>'; 
echo '</tr>'; 

while($h=mysql_fetch_array($q)){ 
    $kd=$h['kd_barang']; 
    $barang[]=array($h['kd_barang']); 
    echo '<tr>'; 
    echo '<td style="width:30px;text-align:center;">'.$kd.'</td>'; 
    echo '</tr>'; 
} 
print_r($barang); 

$n++; 
} 
?> 
</table> 

輸出現在

//this output array $barang 
Array ([0] => Array ([0] => 089686048704) [1] => Array ([0] => 089686060027) [2] => Array ([0] => 089686060065) 

//this output the table 
--------------------- 
kategori 66 
089686048704  
089686060027  
089686060065  
----------------------- 
//this output array $barang still repeat from kategori 66 
//This is the problem 
Array ([0] => Array ([0] => 089686048704) [1] => Array ([0] => 089686060027) [2] => Array ([0] => 089686060065) [3] => Array ([0] => 8996001524015) [4] => Array ([0] => 8996001524039) [5] => Array ([0] => 8996001524060) 
---------------------- 
kategori 67 
089686010015  
089686010046  
089686010077  
---------------------------- 

我想第二個數組沒有重複。

//this output array $barang 
Array ([0] => Array ([0] => 089686048704) [1] => Array ([0] => 089686060027) [2] => Array ([0] => 089686060065)) 

//this output the table 
--------------------- 
kategori 66 
089686048704  
089686060027  
089686060065  
----------------------- 

//this output array $barang 
Array ([3] => Array ([0] => 8996001524015) [4] => Array ([0] => 8996001524039) [5] => Array ([0] => 8996001524060)) 
---------------------- 
kategori 67 
089686010015  
089686010046  
089686010077  
---------------------------- 

如何使陣列一樣,從我的代碼 感謝您的解決方案..

+1

實際問題是什麼? –

+0

從下一個類別輸出數組仍然重複或重複(類別67上的例子仍然重複)而輸出表上沒有重複.. @TobyAllen – TARA

+0

你知道嗎@TobyAllen – TARA

回答

2

你需要使用它之前的變量$barang復位:

$barang = array(); // <-- add this 

while($h=mysql_fetch_array($q)){ 
    $kd=$h['kd_barang']; 
    $barang[]=array($h['kd_barang']); 
    echo '<tr>'; 
    echo '<td style="width:30px;text-align:center;">'.$kd.'</td>'; 
    echo '</tr>'; 
} 

這是很好的做法總是將變量設置爲定義的狀態。

+0

哦,上帝!你是對的..感謝這麼多@giraff .. – TARA