![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Mam bazę danych z produktami (100 wpisów). Wśród nich chcę aby tylko wybrana ilość (np 4) były zaznaczone jako 'polecany'.
Można to oczywiście zrobić kilkoma zapytaniami. Ale czy jest może sposób na skrócenie procedury tak aby zaznaczenie wiersza jako 'polecany' opuszczało wcześniej podniesioną flagę na innym produkcie ? W niektórych przypadkach chciałbym aby tylko jeden produkt miał podniesioną flagę 'reklamowany'. Może na jeden wpis są jakieś specjalne funkcje MySQL ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
twój problem wynika z błędnych założeń w projekcie bazy. skoro potrzebujesz, żeby wybrana grupa produktów była wyróżniona, to nienajlepszym pomysłem jest dodawanie pól-flag typu 'polecany' 'reklamowany' (dla 99% danych będą puste ...).
sugeruję, żebyś założył dwie dodatkowe tabele, np. polecane_produkty i reklamowane_produkty, dowiązane kluczem obcym, np. id_produktu, do tabeli produkty. taka konstrukcja rozwiązuje twoje problemy z kontrolą ilości oflagowanych produktów. dużo prostsze są też operacje polegające na zmianie wyróżnionych produktów. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 01:48 |