0

次のデータベース行(id、url、type)がある場合

id |  url  | type

1  |google | go
2  |yahoo  | go
3  |google | go
4  |bing   | go

ここで、go型のすべてのURLを呼び出して、結果を配列に入れたいと思います

$query = "select * from my_table Where type='go'";
$result = mysql_query($query) or die(mysql_error());
while($aax = mysql_fetch_array($result)){

$result_array[] = $aax[url];
$result_array = array_unique($result_array);
print_r($result_array);

}

結果の配列は4回繰り返されます!データベースから4つの結果があるので

Array
(
    [0] => google
)
Array
(
    [0] => google
    [1] => yahoo
)
Array
(
    [0] => google
    [1] => yahoo
)
Array
(
    [0] => google
    [1] => yahoo
    [3] => bing
)

私の質問

繰り返さずに結果の配列を取得し、すべてのURLを取得する方法は、次のようになります。

 Array
(
    [0] => google
    [1] => yahoo
    [3] => bing
)

〜助けて..ありがとう

4

2 に答える 2

4

クエリで個別の関数を使用し、通常の配列を作成するだけではありません。

$query = "select distinct url from my_table Where type='go'";
$result = mysql_query($query) or die(mysql_error());

$result_array = array();

while($aax = mysql_fetch_array($result)){
  $result_array[] = $aax['url'];
}
print_r($result_array);

注:ソースのいくつかのマイナーなバグを編集しました。

于 2012-10-02T14:17:44.000 に答える
1
$result_array = array_merge($result_array, $aax[url]);
于 2012-10-02T14:19:24.163 に答える