![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 247 Pomógł: 9 Dołączył: 20.09.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam taki problem, do którego nie mogę wymyślić rozwiązania. Mam np. tabelę: "pages", "categories", "pages_categories". I na stronie wyświetlam np. 5 kategorii do danej strony(lista). Teraz chciałbym zrobić coś takiego, że mogę usunąć daną kategorię, dodać bądź zmodyfikować i to w jednym czasie. Potem wysyłam formularz i tych kategorii danej strony, których nie ma mają zostać usunięte z tabeli: "pages_categories". Korzystam z Doctrine 2 i może jest tam takie rozwiązanie ale nie widziałem, więc może Ci bardziej wtajemniczeni coś wiedzą o tym. Do tej pory robiłem tak: 1) Usuwałem wszystkie kategorie gdzie page_id = $page 2) Dodawałem te kategorie które zostały wcześniej dodane. Moje rozwiązanie nie wydaje mi się zbyt optymalne i ładne, więc proszę o jakieś wasze rozwiązania bądź propozycje. Z góry dzięki Pozdrawiam. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Nie do końca rozumiem o co chodzi, ale jednocześnie nie możesz jednym zapytaniem usuwać, edytować i dodawać rekordów. Trzeba to rozbić na poszczególne akcje.
Możesz to jakoś jaśniej napisać? Lub jakieś przykłady podać? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 247 Pomógł: 9 Dołączył: 20.09.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Mamy na stronie 5 kategorii:
-komiksy -programowanie -kulinaria -herbata -laptopy i teraz user-case wygląda tak: 1) Usuwamy kategorie: komiksy, herbata 2) Dodajemy NOWĄ kategorię - komputery 3) Modyfikujemy kulinaria na kuchnia domowa 4) Akceptujemy formularz(wysyłamy POST) I teraz jak ładnie to zrobić aby nie usuwać wszystkich rekordów i wstawić nowe z POST ? @b4rt3kk Wiem że nie da się to zrobić 1 zapytaniem (IMG:style_emoticons/default/tongue.gif) Ten post edytował Fluke 19.06.2013, 11:40:05 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
To jeszcze zależy jak formularz w sumie wygląda. Modyfikujesz pola za pomocą JS lub jQuery? Rzeczywiście, nie ma sensu usuwania wszystkich kategorii i wstawiania ich od nowa. Musisz rozpoznać jakie akcje wykonał użytkownik, tj. zaznaczony checkbox przy kategorii oznacza usuń, itp. a jako value dajesz id rekordu. Więc:
1. Usuwasz kategorie z zaznaczonymi checkboxami (rozpoznajesz po id). 2. Edytujesz wszystkie pozostałe kategorie, które nie zostały usunęte (nie ma sensu sprawdzać, czy wprowadzono jakieś zmiany, bo to kolejne zapytanie). 3. Dodajesz nowe rekordy (to te, które nie będą miały określonego swojego id). |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 247 Pomógł: 9 Dołączył: 20.09.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
W sumie jest to chyba najlepsze rozwiązanie ze wszystkich jakie słyszałem... (IMG:style_emoticons/default/smile.gif)
Dzięki wielkie i pozdro (IMG:style_emoticons/default/wink.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.09.2025 - 10:34 |