web-dev-qa-db-ja.com

mysqlテーブルからphp配列への行を取得します

Mysqlテーブルのすべての行を取得してphp配列に入れるにはどうすればよいですか?これには多次元配列が必要ですか?このすべての目的は、後でGoogleマップにいくつかのポイントを表示することです。

12
redfrogsbinary

テーブルから必要なすべてのデータを取得する必要があります。このような何かが動作します:

$SQLCommand = "SELECT someFieldName FROM yourTableName";

この行はテーブルに入り、テーブルから「someFieldName」のデータを取得します。複数の列を取得する場合は、「someFieldName」にフィールド名を追加できます。

$result = mysql_query($SQLCommand); // This line executes the MySQL query that you typed above

$yourArray = array(); // make a new array to hold all your data


$index = 0;
while($row = mysql_fetch_assoc($result)){ // loop to store the data in an associative array.
     $yourArray[$index] = $row;
     $index++;
}

上記のループは各行を通過し、作成した新しい配列の要素として保存します。その後、画面に印刷するなど、その情報を使って何でもできます。

echo $row[theRowYouWant][someFieldName];

したがって、$ theRowYouWantが4に等しい場合、5番目の行のデータ(この場合は 'someFieldName')になります(行は0から始まることに注意してください!)。

31
Mr. Starburst
$sql = "SELECT field1, field2, field3, .... FROM sometable";
$result = mysql_query($sql) or die(mysql_error());

$array = array();

while($row = mysql_fetch_assoc($result)) {
   $array[] = $row;
}

echo $array[1]['field2']; // display field2 value from 2nd row of result set.
14
Marc B

他の答えは機能します-ただし、OPはすべての行を要求し、すべてのフィールドも必要な場合は、データベースが変更されたときにphpを更新する代わりに汎用のままにする方がはるかに良いでしょう

$query="SELECT * FROM table_name";

また、この時点でデータを返すことも汎用のままにすることができます-JSON形式は動的に更新され、任意のソースから簡単に抽出できるため、私はJSON形式が本当に好きです。

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
{
  echo json_encode($row);
}
2
GregM

ループなしで実行できます。 fetch_all コマンドを使用するだけです

$sql     = 'SELECT someFieldName FROM yourTableName';
$result  = $db->query($sql);
$allRows = $result->fetch_all();
1
Adam

HERE ISあなたのコード、使用してください。ITISテスト済み。

$select=" YOUR SQL QUERY GOOES HERE";
$queryResult= mysql_query($select);

//DECLARE YOUR ARRAY WHERE YOU WILL KEEP YOUR RECORD SETS
$data_array=array();

//STORE ALL THE RECORD SETS IN THAT ARRAY 
while ($row = mysql_fetch_array($queryResult, MYSQL_ASSOC)) 
{
    array_Push($data_array,$row);
}


mysql_free_result($queryResult);


//TEST TO SEE THE RESULT OF THE ARRAY 
echo '<pre>';
print_r($data_array);
echo '</pre>';

[〜#〜] thanks [〜#〜]