База данных возвращает все значения. Но цикл 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;
}