Hi! Mam problem - utworzyłem zapytanie mySQL zwracające kolejno id kategorii, id produktu, wskaźnik aktywności. Dane te utworzyły tablicę, którą sformatowałem do postaci
- Kategoria ID
- Produkt ID => Wskaźnik aktywności
Wszystko jest okej, gdyby nie fakt - że mój skrypt wyświetla tylko ostatnie wyniki z danej kategorii. Dokładniej - każda kategoria ma przypisane N produkt ID. Dajmy na to, że w tabeli mySQL wygląda to tak, przykładowo:
Kategoria: 123
- Produkt ID 12
- Produkt ID 23
- Produkt ID 45
Mój skrypt wyświetla w tablicy tylko ostatni rekord, w tym przypadku Produkt ID 45, a powinien wyświetlić trzy przypisane do odpowiedniej kategorii. Co jest nie tak? O czym zapomniałem?
function getProducts() {
global $connect;
$sql = "ZAPYTANIE PDO DO BAZY";
$stmt = $connect->prepare($sql);
$stmt->execute();
$products = $stmt->fetchAll();
$result = array();
foreach ($products as $detail) {
$pid = $detail['product_id'];
$key = array($pid);
$status = $detail['active'];
$value = array($status);
$pdetails = array_combine($key, $value);
$cid = $detail['category_id'];
$result[$cid] = $pdetails;
}
echo '<pre>';
print_r($result);
echo '</pre>';
}