从查询中显示5行数据

时间:2014-05-13 15:58:18

标签: php mysql sql

我有一个简单的表格(mgap_orders),里面有客户订单。多个具有相同的id(mgap_ska_id),我只想从表中拉出5条记录并显示所有五条记录。

我可以使用以下查询和PDO轻松获取一条记录,但如何显示5行而不是仅显示一行?

  $result_cat_item = "SELECT * FROM mgap_orders WHERE mgap_ska_id = '$id' GROUP BY mgap_ska_id";

    while($row_cat_sub = $stmt_cat_item->fetch(PDO::FETCH_ASSOC))
    {
    $item=$row_cat_sub['mgap_item_description'];
    $item_num=$row_cat_sub['mgap_item_number'];
    $item_type=$row_cat_sub['mgap_item_type'];
    $item_cat=$row_cat_sub['mgap_item_catalog_number'];
    $item_ven=$row_cat_sub['mgap_item_vendor'];
    $item_pur=$row_cat_sub['mgap_item_percent_purchased'];
    $item_sales=$row_cat_sub['mgap_item_sales'];
    }

1 个答案:

答案 0 :(得分:2)

使用limit 5然后将结果放入数组中,如下所示:

$result_cat_item = "SELECT * FROM mgap_orders WHERE mgap_ska_id = '$id' GROUP BY mgap_ska_id LIMIT 5";

$items = array();

while($row_cat_sub = $stmt_cat_item->fetch(PDO::FETCH_ASSOC))
{
    $items['item']       = $row_cat_sub['mgap_item_description'];
    $items['item_num']   = $row_cat_sub['mgap_item_number'];
    $items['item_type']  = $row_cat_sub['mgap_item_type'];
    $items['item_cat']   = $row_cat_sub['mgap_item_catalog_number'];
    $items['item_ven']   = $row_cat_sub['mgap_item_vendor'];
    $items['item_pur']   = $row_cat_sub['mgap_item_percent_purchased'];
    $items['item_sales'] = $row_cat_sub['mgap_item_sales'];
}

然后你可以这样做:

foreach($items as $item) {
    // echo $item['item'] or whatever
}

编辑:或者您可以跳过将它们放入数组中,只需使用while()来完成数据所需的操作。