Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:在mysql列中获取最高值和最低值?_Php_Mysql - Fatal编程技术网

PHP:在mysql列中获取最高值和最低值?

PHP:在mysql列中获取最高值和最低值?,php,mysql,Php,Mysql,我试图在mysql列中获得最高值和最低值,但我不知道这是否可能 我在MYSQL官方论坛上遇到了这段代码,但我真的不知道如何将这些值作为PHP变量 SELECT (SELECT `price` FROM mytable ORDER BY `price` LIMIT 1) AS lowest, (SELECT `price` FROM mytable ORDER BY `price` DESC LIMIT 1) AS highest 因此,基本上我需要做的是从mysql查询中创建PHP变量,并获得

我试图在mysql列中获得最高值和最低值,但我不知道这是否可能

我在MYSQL官方论坛上遇到了这段代码,但我真的不知道如何将这些值作为PHP变量

SELECT
(SELECT `price` FROM mytable ORDER BY `price` LIMIT 1) AS lowest,
(SELECT `price` FROM mytable ORDER BY `price` DESC LIMIT 1) AS highest
因此,基本上我需要做的是从mysql查询中创建PHP变量,并获得最高值$hiestprice和最低值$lowsprice

所以我继续,我做到了:

$sql = "SELECT
    (SELECT `price` FROM mytable ORDER BY `price` LIMIT 1) AS lowest,
    (SELECT `price` FROM mytable ORDER BY `price` DESC LIMIT 1) AS highest";
$query = mysqli_query($db_conx, $sql);
$productCount = mysqli_num_rows($query ); // count the output amount
if ($productCount > 0) {
    while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)){

$hiestprice = $row['price'];
$lowestprice = $row['price'];

}

}
但这是错误的,当我回显$hiestprice和$lowerstprice时,我的PHP页面上没有返回任何内容

有人能给我指一下正确的方向吗

$hiestprice = $row['highest'];
$lowestprice = $row['lowest'];
试试这个

你也应该考虑编辑查询,

SELECT MIN(`price`) AS lowest , MAX(`price`) AS highest FROM  `mytable`

希望这有帮助。

首先,您可以优化查询并使用

SELECT MIN(  `price` ) AS  `lowest` , MAX(  `price` ) AS  `highest` FROM  `mytable`
而不是你可以用价格来衡量

$highestprice = $row['highest'];
$lowestprice = $row['lowest']
当您使用最低后缀时,在php和其他客户端(如phpmyadmin)中,您将得到最低的别名

您可以将查询优化为一个选项:

SELECT MIN(`price`) AS `lowest`, MAX(`price`) AS `highest` FROM `mytable`;
在php中,对于这两个查询,您的和优化的应通过别名获得:

<?php

$hiestprice = $row['lowest'];
$lowestprice = $row['highest'];
如果您使用var_dump$row;您将看到,您需要通过$row['lower']和$row['highest']访问它们