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 回答