mysql_fetch_array
私にフェッチされた行の配列を与えます。 1つの列のすべての行の値から配列を生成する最良の方法は何ですか?MySQLの列からPHP配列を作成する
編集:すばらしい答えがたくさんあります。返事をくれた皆さんありがとうございます!私はGumboとGStoが提案したのと同じような解決策を持って行きました。私はGSポイントに答えポイントを与えました。なぜなら、ポイントが少ないからです(ちょっとした人を助け、個人的には助けてくれません)。
mysql_fetch_array
私にフェッチされた行の配列を与えます。 1つの列のすべての行の値から配列を生成する最良の方法は何ですか?MySQLの列からPHP配列を作成する
編集:すばらしい答えがたくさんあります。返事をくれた皆さんありがとうございます!私はGumboとGStoが提案したのと同じような解決策を持って行きました。私はGSポイントに答えポイントを与えました。なぜなら、ポイントが少ないからです(ちょっとした人を助け、個人的には助けてくれません)。
あなたは、配列をループし、そうのような、新しいものを作成することができます。あなたはphp-の代わりにPDOを使用する場合は
$result = mysql_query(...);
$data = array();
while ($row = mysql_fetch_array($result)) {
array_push($data, $row["columnyouwant"]);
}
がレコードを取得し、配列に格納するwhile
ループを使用します。mysql拡張モジュールを使用してこれを行うには機能はありません
$array = array();
while ($row = mysql_fetch_array()) {
$array[] = $row['column-x'];
}
、あなたはこれを行うことができます。
$result = array();
while ($row = mysql_fetch_array($r, MYSQL_NUM)) {
$result[] = $row[0];
}
明らかに、数値的に配列された配列の列をフェッチする方が少し速く、連想配列形式を持つことには実質的な利点はありません。
ループ結果を通してmysql PDO :: query()の戻り値はTraversableインターフェースを実装しています。つまり、これを使用することができます。 foreach()で(mysql_queryから得られるmysqlの結果リソースとは異なります)。
foreach($pdo->query('SELECT x,y,z FROM foo') as $row) {
そして、これが十分ではない、あなたが本当に、本当に配列(すなわちget_class($ x)は===「アレイ」)を必要とする、fetchAll()方法があります場合にはあなたは、あなたが必要なだけの列を照会することができ、そのテーブル内の他の情報を必要としない場合
$columns = array();
$i=1;
while($row = mysql_fetch_array($sql))
{
$columns [$i]=$row['value'];
$i++;
}
$result = mysql_query("SELECT columnname FROM table WHERE x=y");
$columnValues = Array();
while ($row = mysql_fetch_assoc($result)) {
$columnValues[] = $row['columnname'];
}
:
$column = array();
while($row = mysql_fetch_array($info)){
$column[] = $row[$key];
//Edited - added semicolon at the End of line.1st and 4th(prev) line
}
// I'm using this for years and it works very good !! it's easy and logic
$translate = array();
while ($row = mysql_fetch_assoc($result))
{
$cullomnkey = $row['translshort']; // is what you want the key to be
$translate[$cullomnkey] = $row[$language]; // this is the key and the value in the array
}
$query = mysql_query('SELECT * from yourTable');
function mysql_field_array($query) {
$field = mysql_num_fields($query);
for ($i = 0; $i < $field; $i++) {
$names[] = mysql_field_name($query, $i);
}
return $names;
}
$fields = mysql_field_array($query);
$output = implode(',', $fields); //outputs the columns names
//echo count($fields); //this use if you want count of columns.
$columns = '{\"fields\":\".json_encode($output).\"}';
echo $columns; //for JSON output
あなたはこれを行うことができます:
$query = mysql_query("SELECT * FROM table WHERE id='$int' LIMIT 1");
$column = array();
$column = mysql_fetch_array($query);
、それはそれはすべてがより簡単になります:
あなたは私にそれを打つ。 –