Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zliczanie ilość produktów w danej kategorii
DeyV
post
Post #1





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Hej.
zastanawaiłęm sie, czy nie dać jakiegoś mądrzejeszgo tematu, ale chyba taki jest najbardziej obrazowy.
Akcja toczy się na MySQL, gdzie mamy 2 tabele, produkty i kategorie.
Każdy produkt, poza id i nazwą, ma informacje o tym, do jakiej kategorii należy, oraz 1 pole dodatkowe - flagę, mogąć przyjmować wartość 0 lub 1.
Zadanie polega na tym, by wyświetlić listę kategorii, wraz z 2 liczbami dotyczącymi ilości produktów należących do tej kategorii, osobno jednak licząc produkty o fladze 0, a osobno - 1.
Przykład struktury bazy:
Kod
# Struktura tabeli dla  `kategorie`

CREATE TABLE kategorie (

  id int(11) NOT NULL auto_increment,

  nazwa varchar(100) NOT NULL default '',

  PRIMARY KEY  (id)

) TYPE=MyISAM;

# Zrzut danych tabeli `kategorie`

INSERT INTO kategorie VALUES (1, 'kategoria 1');

INSERT INTO kategorie VALUES (2, 'kategoria 2');

INSERT INTO kategorie VALUES (3, 'kategoria 3');

# --------------------------------------------------------

# Struktura tabeli dla  `produkty`

CREATE TABLE produkty (

  id int(11) NOT NULL auto_increment,

  nazwa varchar(100) NOT NULL default '',

  kat_id int(11) NOT NULL default '0',

  flaga tinyint(4) NOT NULL default '0',

  PRIMARY KEY  (id),

  KEY kat_id (kat_id,flaga)

) TYPE=MyISAM;

# Zrzut danych tabeli `produkty`

INSERT INTO produkty VALUES (1, 'produkt 1', 1, 0);

INSERT INTO produkty VALUES (2, 'produkt 2', 1, 0);

INSERT INTO produkty VALUES (3, 'produkt 3', 1, 1);

INSERT INTO produkty VALUES (4, 'produkt 4', 2, 0);


Moim marzeniem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) byłoby otrzymać wynik w postaci:

Kod
|id | nazwa         | produkt_flag_0    | produkt_flag_1   |

|---+---------------+-------------------+------------------|

| 1 | kategoria 1   |         2         |          1       |

|---+---------------+-------------------+------------------|

| 2 | kategoria 2   |         1         |          0       |

|---+---------------+-------------------+------------------|

| 3 | kategoria 3   |         0         |          0       |

------------------------------------------------------------


W pierwszej chwili zadanie wydaje się banalne. Ale ... chyba takie nie jest. A zresztą przekonajcie sie sami (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dragossani
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 398
Pomógł: 0
Dołączył: --
Skąd: Poznań

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


Jestem pod wrażeniem tej agregacji po IF'ach. Niezłe. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 28.09.2025 - 11:35