php – 从数据库行中选择最低价格并忽略null或0

开发技术 作者: 2024-06-24 11:20:01
我有一个名为价格的数据库,有12列可以说. comp1,comp2,comp3,comp4,comp5,comp6等. 然后我想运行一个查询来查找存储在该行中与id匹配的最低价格,但我认为它将null视为最低值,因为我没有得到正确的答案. 无论如何围绕这个?或者我做错了吗? $query = "SELECT * FROM Prices WHERE id =$id" or die(mysql_err
我有一个名为价格的数据库,有12列可以说.

comp1,comp2,comp3,comp4,comp5,comp6等.

然后我想运行一个查询来查找存储在该行中与id匹配的最低价格,但我认为它将null视为最低值,因为我没有得到正确的答案.

无论如何围绕这个?或者我做错了吗?

$query = "SELECT * FROM Prices WHERE id =$id" or die(MysqL_error());
    $result = MysqL_query($query) or die(MysqL_error());
    while ($row = MysqL_fetch_array($result)) {

    $comp1= $row['comp1'];
    $comp2= $row['comp2'];
    $comp3= $row['comp3'];
    $comp4= $row['comp4'];
    $comp5= $row['comp5'];
    $comp6= $row['comp6'];
    $comp7= $row['comp7'];
    $comp8= $row['comp8'];
    $comp9= $row['comp9'];
    $comp10= $row['comp10'];
    $comp11= $row['comp11'];
    $comp12= $row['comp12'];

$min = array( $comp1,$comp2,$comp3,$comp4,$comp5,$comp6,$comp7,$comp8,$comp10,$comp11,$comp12);

echo min($min);      

}

解决方法

如果在调用 min()之前在数组上调用 array_filter(),则将清除任何计算结果为false的内容,包括null和0.

例如:$min = min(array_filter($min));

原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_32652.html