我有以下功能:
function get_max_weight()
{
global $db;
$query = "SELECT weight FROM products WHERE weight=(select max(weight) from products)";
$result = mysql_query($query);
$results = mysql_fetch_row($result);
return $results[0];
}
我正在使用nouislider并使用$maxweight = get_max_weight()
来定义滑块范围的上限。我现在想从相同的功能中获得最小重量。
所以我的问题是1)我如何更改上面的查询以获得最大值和最小值; 2)如何在我的页面上输出这些值?
答案 0 :(得分:4)
您不需要子查询,只需:
$query = "SELECT MIN(weight) AS minweight, MAX(weight) AS maxweight FROM products";
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);
return $row;
这将返回一个关联数组,如:
[ 'minweight' => 10, 'maxweight' => 50 ]
答案 1 :(得分:1)
我不明白为什么你需要一个子查询,看起来你只是取一行,所以为什么你需要一个查询来返回多行呢?
单个查询可以返回最小值和最大值,例如:
SELECT MIN(weight) AS min_weight
, MAX(weight) AS max_weight
FROM products
至于从函数中返回这两个值,我认为你可以从函数中返回一个数组对象。
不推荐使用PHP mysql
函数。有两种可用的界面: mysqli
和 PDO
。 (我不能在良心上给出一个包含对已弃用的mysql_
函数的调用的答案。)
答案 2 :(得分:0)
使用:
$query = "SELECT max(weight), min(weight) FROM products";
$execute = mysql_query($query);
$result = mysql_fetch_row($execute);
return $result;
获取值
echo $result[0]; //gives you max weight.
echo $result[1]; //gives you min weight