Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Połączenie kategorii z produktami w tym wybór pustych
Salvation
post 9.11.2016, 14:02:42
Post #1





Grupa: Zarejestrowani
Postów: 400
Pomógł: 71
Dołączył: 15.07.2014

Ostrzeżenie: (0%)
-----


Witam.
To znowu ja smile.gif
W tym temacie Temat: Many to many SELECT uzyskałem satysfakcjonująca mnie odpowiedź i rozwiązałem problem. Niestety przyszedłem do was dzisiaj z podobnym problem, ale raczej w kwestii czysto merytorycznej, a mianowicie:
- posiadam sobie taki oto wycinek z bazy danych:


Wynika z tego tyle, że dany product może być przypisany do kategorii i/lub podkategorii. Podam przykład:

CODE
- kategoria Pizza:
----- produkt
----- produkt
- kategoria Napoje:
----- produkt
--- podkategoria Drinki:
----- produkt
----- produkt
--- podkategoria Alkohole
----- produkt

Następnie, po ponownym przejrzeniu tego poradnika: http://nospor.pl/grupowanie-wynikow.html tym razem zastosowałem grupowanie w PHP. Stanąłem na zapytaniu do bazy danych, które wygląda tak:
  1. $sql = "SELECT c.`id_category` cid, IFNULL(c.`master_category`, 0) cmc, c.`name` cname, c.`nr_queue` cq, "
  2. . "p.`id_product` pid, p.`name` pname, p.`nr_queue` pq, p.`price_min` ppmin, p.`price_max` ppmax, "
  3. . "p.`size_min` psmin, p.`size_max` psmax, p.`size_type` pstype, "
  4. . "IF(p.`discount_time` > NOW(), p.`discount`, 0) pdiscount, "
  5. . "t.`name` tname, t.`color` tcolor "
  6. . "FROM `categories` c "
  7. . "LEFT JOIN `products` p ON p.`id_category` = c.`id_category` "
  8. . "LEFT JOIN `types` t ON t.`id_type` = p.`id_type` "
  9. . "WHERE c.`visible` = '1' AND p.`visible` = '1' "
  10. . "ORDER BY cmc, cq, pq, pname";

Cały problem jest w tym, że wynik zwraca tylko kategorie z produktami. "Błąd" znalazłem z klauzuli WHERE - bez niej, wyniki są takie jakie oczekiwałem, czyli zwrot nawet pustych kategorii. Czy ktoś wie dlaczego tak to działa a nie inaczej i gdzie jest błąd w moim rozumowaniu?
Z góry dzięki za jakiekolwiek wskazówki.

PS. kolumna `visible` odpowiada za widoczność kategorii czy produktu na stronie, więc jest potrzebna w zapytaniu.

Ten post edytował Salvation 9.11.2016, 14:34:03
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 16:58