ďťż
Podstrony
|
telcocafeUPDATE cats SET num=num-1 WHERE ID=5Powyższe zapytanie odejmie 1 od liczby zawartości w kategorii o ID 5. Ważne pola: ID - ID kategorii num - liczba zawartości sc - zawiera ID nadrzędnej kategorii lub wartość "P", jeśli jest podstawowa Czy możliwa jest zmiana tego zapytania, aby dodatkowo odejmowało 1 od liczby z pola SC w kategoriach nadrzędnych (czyli tych, które w polu ID zawierają pole SC kategorii o ID 5 oraz wszystkich, którym tą wartość odjęto - wyższym kategoriom nadrzędnym)? Trudność polega na tym, że ilość subkategorii jest nieograniczona. Chodzi o to ,że masz sobie drzewo kategori : kat_c ---kat ---... ---kat_b ------kat ------ ... ------ kat_a --------... --------- kat ---------... ---------kat1 ? I jak na przykład w kategorii kat1 odejmiesz od num 1 to w kategoriach kat_a, kat_b, kat_c też ma to odjąć ? Według mnie za jednym zapytaniem tego nie zrobisz. Najpierw musisz zebrać id kategori nadrzędnych do danej (pętlą szukając po kolei w subkategoriach id danej w sc tych kategorii) i dopiero zrobić zapytanie ,które dla danych id kategorii zmieni wartość num ;) No chyba ,że istnieją pętle w zapytaniach mysql :) Użytkownik .:DzIuDek:. ™ edytował ten post 02 sierpień 2006, 16:06 Próbujesz tworzyć złożony kod nie stosując odpowiednich do tego środków (MVC dla samego kodu) a dla "systemu kategorii" tą są bardzo mądre i sprawne rozwiązania jak drzewka w SQL http://depesz.com/va...lementation.php Takie drzewko ułatwia wiele operacji. Poza tym spróbuj czegoś ala: UPDATE cats SET num=num-1 WHERE ID = (SELECT id FROM tabela) |
|||
Sitedesign by AltusUmbrae. |