2013-04-07 4 views
0

J'essaie d'ajouter des données de tableau à partir de mysql. Mais seuls les détails de la dernière rangée sont ajoutés. J'ai aussi essayé array_push mais je n'ai pas travaillé. Peut-on aiderTableau en PHP ne fonctionne pas

$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']) 
); 
} 

Répondre

2

En ne créant un nouveau tableau dans chaque itération de la boucle:

$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

merci. Cela fonctionne bien ... – Arvind

1

Peut-être que vous cherchez ceci:

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

En fin de compte, vous aurez dans votre variable $services un tableau associatif, indexé par server_name valeurs de la colonne.

Si elles ne sont pas uniques, vous devriez le faire à la place ...

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

De cette façon, vous aurez toujours le même tableau associatif, mais ses valeurs sont des tableaux indexés; ainsi vous ne perdrez aucune information pour des enregistrements avec le même server_name.