2013-04-07 34 views
0

我想從MySQL中添加數組數據。但只有最後一行的細節正在增加。我也試過array_push,但沒有工作。任何一個可以幫助在PHP中的數組不工作

$sql="SELECT * FROM server_details"; 
$result=mysqli_query($dbC, $sql); 
while ($row = mysqli_fetch_array($result)) 
{ 
$services=array( 
    $row['server_name'] => array($row['server_add'] => $row['port']) 
); 
} 

回答

2

通過在循環的每次迭代沒有創造一個新的數組:

$sql  = "SELECT * FROM server_details"; 
$result = mysqli_query($dbC, $sql); 
$services = array(); 

while ($row = mysqli_fetch_array($result)) { 
    $services[$row['server_name']] = array($row['server_add'] => $row['port']); 
} 
+0

感謝。它工作正常... – Arvind 2013-04-07 11:15:20

1

也許你正在尋找這樣的:

$services[ $row['server_name'] ] = array($row['server_add'] => $row['port']); 

最後,你會得到你的$services變量的關聯數組,由server_name列值索引。

如果他們不是唯一的,你應該這樣做,而不是...

$services[ $row['server_name'] ][] = array($row['server_add'] => $row['port']); 

這樣你仍然會得到相同的關聯數組,但它的價值將是索引的數組;因此您不會丟失與server_name相同記錄的任何信息。