2011-07-19 4 views
19

MySQLデータベースからデータを取得してwhileループを使用してデータを反復処理すると、それぞれを配列に追加する方法は?WhileループからPHP配列を取り込む

$result = mysql_query("SELECT * FROM `Departments`"); 
while($row = mysql_fetch_assoc($result)) 
{ 

} 

答えて

61

whileループを繰り返し実行すると、配列が作成されます。あなたはPDO使用した場合

$result = mysql_query("SELECT * FROM `Departments`"); 
$results = array(); 
while($row = mysql_fetch_assoc($result)) 
{ 
    $results[] = $row; 
} 

あるいは、あなたはdo this automaticallyができました。これは、トリックを行います

+11

あなたは速すぎます! ;) – AlienWebguy

+0

どのように配列に1つの列を配置し、インデックスod配列は主キーでなければなりませんか? –

+0

@bhawin PHP配列がどのように機能するかを学ぶと、簡単に見つかります – alex

5

$rows = array(); 
$result = mysql_query("SELECT * FROM `Departments`"); 
while($row = mysql_fetch_assoc($result)) 
{ 
    $rows[] = $row; 
} 
5

これは私が(多次元)配列を作成するための最速の方法の一つとなっています。すべての結果を1つの配列にスムージングしたいかどうかはわかりません。

// Read records 
$query = "SELECT * FROM `Departments`"; 
$query = mysql_query($query); 

// Put them in array 
for($i = 0; $array[$i] = mysql_fetch_assoc($query); $i++) ; 

// Delete last empty one 
array_pop($array); 

結果を確認するには、print_r($ array)を使用できます。

0

私のfavは次のとおりです。

$result=odbc_exec($conn,$sql); 
if ($result) { 
    while($found_results[] = odbc_fetch_array($result)) { } 
    array_pop($found_results); //pop off the empty line from while loading 
} 

最終行をポップする必要はありませんが、省略した場合は空白のままになります。 は明らかにmysqlと同じ動作をします。

1

Departmentsテーブルに複数の列があり、異なる配列に保存する場合。

$result = mysql_query("SELECT * FROM `Departments`"); 
$dept_id = array(); 
$dept_name=array(); 
while($row = mysql_fetch_assoc($result)) 
{ 
//fetches and store all results in id column on your departments table 
$dept_id= $row['id']; 
//fetches and store all results in name column on your departments table  
$dept_name=$row['name']; 
} 
関連する問題