Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.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\u查询检查_Php_Mysql - Fatal编程技术网

Php 多次对值范围进行mysql\u查询检查

Php 多次对值范围进行mysql\u查询检查,php,mysql,Php,Mysql,我需要多次检查值范围,到目前为止我是这样做的: <?php $preischeck = mysql_query("SELECT preis FROM outfits WHERE aktiv = 'ja' and preis <= 100 $marke $farbe"); if(mysql_num_rows($preischeck) > 0) { echo "0 - 100 is there"; } ?> <?php $preischeck = mysql_

我需要多次检查值范围,到目前为止我是这样做的:

<?php
$preischeck = mysql_query("SELECT preis FROM outfits WHERE aktiv = 'ja' and preis <= 100 $marke $farbe");
if(mysql_num_rows($preischeck) > 0) {
     echo "0 - 100 is there";
}
?>
<?php
$preischeck = mysql_query("SELECT preis FROM outfits WHERE aktiv = 'ja' and preis > 100 and preis <= 200 $marke $farbe");
if(mysql_num_rows($preischeck) > 0) {
     echo "100 - 200 is there";
}
?>
等等。。 我想这对服务器来说太多了,还有更好的方法。有什么想法吗?

为什么不在SQL查询中使用GROUP BY:

SELECT preis FROM outfits GROUP BY preis
如果你想要100个街区

SELECT FLOOR(preis / 100) * 100 FROM outfits GROUP BY FLOOR(preis / 100)

然后,如果结果集中有0,那么您知道0-99,99,如果结果集中有100-199,99等等。

虽然这可能不是一个好主意,但也可以使用变量来完成:

SELECT 
    @range1 AS range1_count,
    @range2 AS range2_count,
    @range3 AS range3_count
FROM (
    SELECT
        IF(preis <= 10, @range1 := @range1 + 1, 0),
        IF(preis > 10 AND preis <= 100, @range2 := @range2 + 1, 0),
        IF(preis > 100, @range3 := @range3 + 1, 0)
    FROM
        (SELECT @range1 := 0) i1,
        (SELECT @range2 := 0) i2,
        (SELECT @range3 := 0) i3,
        outfits
    WHERE aktiv = 'ja'
) sub1 LIMIT 1;

我并不是说你的解决方案是理想的,但你没有说明它有什么问题。换句话说,你问的是“任何想法”。什么主意?你的索引设置正确了吗?像这样的简单查询对您的服务器来说应该不会太难。代码工作正常。我只是认为可以有一个更好的代码,只需要一个请求就可以完成工作,你也应该考虑使用mysql/pdoymysql,因为MySQL被表示为PHP 5.5。