转换php sql查询while循环到for循环

时间:2014-05-02 03:57:16

标签: php mysql for-loop while-loop

在我的代码中,'product'表返回表中的每个产品详细信息。

现在我想获得0到5号产品的具体产品细节。如何在循环到for循环时更改此内容?

代码:

public function getProducts(){
    $query = "SELECT * FROM shop_product";
    $resultSet = Array();
    $result = mysql_query($query) or die (mysql_error());

    while($fetchResult = mysql_fetch_array($result,MYSQL_ASSOC)){
        $resultSet[] = $fetchResult;
    }
    mysql_free_result($result);

    return $resultSet;
}

2 个答案:

答案 0 :(得分:1)

您只需更改查询即可返回五行行。

SELECT * FROM shop_product LIMIT 0,5

如果您不喜欢上述解决方案,可以使用array_slice()获取数组的一部分..

while($fetchResult = mysql_fetch_array($result,MYSQL_ASSOC)){
        $resultSet[] = $fetchResult;
    }
    $fiverowsarray = array_slice($resultSet, 0 , 5); //<--- You can add like this..

答案 1 :(得分:-1)

尝试使用LIMIT和Where条件

public function getProducts(){
    $query = "SELECT * FROM shop_product LIMIT 0,5";
    $resultSet = Array();
    $result = mysql_query($query) or die (mysql_error());

    while($fetchResult = mysql_fetch_array($result,MYSQL_ASSOC)){
        $resultSet[] = $fetchResult;
    }
    mysql_free_result($result);

    return $resultSet;
}