【发布时间】:2016-12-08 15:04:46
【问题描述】:
数据库返回所有值。但是下面的while 循环只返回第一类及其产品。我想分别显示所有类别和产品。有人能在这段代码中找到问题吗?
elseif (isset($_GET['type']) && $_GET['type'] == 'getProducts') {
$categoriesID = array();
$categories = array();
$category = array();
$data = array();
$current_category = '';
while ($results = $query->fetch_assoc()) {
if (!in_array($results['category_id'], $categoriesID)) {
$categoriesID[] = $results['category_id'];
$item = array();
while ($resultdata = $query->fetch_assoc()) {
//IMAGE PATH
$store_id = $store_data['store_id'];
define('DIR_IMAGE', '../../image/uploads/' . $store_id . '/cache/');
// RESIZE IMAGE
$extension_pos = strrpos($resultdata['product_image_url'], '.'); // find position of the last dot, so where the extension starts
$thumb = substr($resultdata['product_image_url'], 0, $extension_pos) . '-500x500' . substr($resultdata['product_image_url'], $extension_pos);
// RESIZE IMAGE
//IMAGE PATH
if ($resultdata['category_id'] == $results['category_id']) {
$items = array('id' => $resultdata['product_id'], 'name' => $resultdata['product_name'],
'price' => $resultdata['product_price'],
'link' => DIR_IMAGE . $thumb);
array_push($item, $items);
}
}
$categories[] = array('id' => $results['product_id'], 'cat_id' => $results['category_id'], 'category_name' => $results['category_name'],
'category_description' => '',
'data' => $item);
}
}
echo json_encode($categories);
//var_dump($categories);die;
}
【问题讨论】:
标签: php while-loop php-5.5