gpt4 book ai didi

php - MySQL/PHP 从多列中仅选择唯一值并将它们放入单独的数组中

转载 作者:行者123 更新时间:2023-11-29 09:16:42 26 4
gpt4 key购买 nike

使用 PHP 和 MySQL,我尝试从表中的多个列(但不是表中的所有列)中选择唯一值,并将所选每列中的所有唯一值放入其自己的数组中。每列值的唯一性只能与同一列中的其他值进行比较。

下面的代码将所有列中的所有唯一值放入 $make_array 中,然后将空值放入所有其余数组中。

如何从这些列中仅选择唯一值并将每列值放入其自己的数组中?

$sql = "
(SELECT make FROM items)
UNION
(SELECT model FROM items)
UNION
(SELECT year FROM items)
UNION
(SELECT month FROM items)
UNION
(SELECT day FROM items)
UNION
(SELECT hour FROM items)";

$result = @mysql_query($sql, $con) or die(mysql_error());

while($row = mysql_fetch_array($result)) {

$make = $row[make];
$model = $row[model];
$year = $row[year];
$month = $row[month];
$day = $row[day];
$hour = $row[hour];

$make_array[make][] = $make;
$model_array[model][] = $model;
$year_array[year][] = $year;
$month_array[month][] = $month;
$day_array[day][] = $day;
$hour_array[hour][] = $hour;
}

最佳答案

如果您想将其保留为一条 SQL 语句,那么您可以:

$sql = "
SELECT DISTINCT 'make' as descr,make as val FROM items
UNION
SELECT DISTINCT 'model' as descr,model as val FROM items
UNION
SELECT DISTINCT 'year' as descr,year as val FROM items
UNION
SELECT DISTINCT 'month' as descr,month as val FROM items
UNION
SELECT DISTINCT 'day' as descr,day as val FROM items
UNION
SELECT DISTINCT 'hour' as descr,hour as val FROM items";

$result = @mysql_query($sql, $con) or die(mysql_error());

while($row = mysql_fetch_array($result)) {
$make_array[$row['descr']][]=$row['val'];
}

关于php - MySQL/PHP 从多列中仅选择唯一值并将它们放入单独的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3936073/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com