Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SOLVED] Sprawdzanie czy kombinacja istnieje, sprawdzanie czy kombinacja istnieje
wujek2009
post
Post #1





Grupa: Zarejestrowani
Postów: 350
Pomógł: 31
Dołączył: 23.05.2010

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


Cześć.

Mam tabelę, w której umieszczam różne warianty i użytkownik przesyła warianty przez formularz i chciałbym sprawdzić czy faktycznie one istnieją w systemie.
Tabela ma mniej więcej taką strukturę: id | id_opcji | produkt_id | kod_bezpieczeństwa | Użytkownik wysyła nam parametry "id_opcji"
np. 14, 58, 200 i muszę sprawdzić czy istnieją takie warianty, które mają takie same KODY BEZPIECZEŃSTWA

Przykładowe wpisy:
  1. id | id_opcji | produkt_id | kod_bezpieczenstwa |
  2.  
  3. 1 | 14 | MASŁO | ag8a8s
  4. 2 | 58 | MASŁO | ag8a8s
  5. 3 | 591 | JOGURT | s8sa8g
  6. 4 | 200 | MASŁO | ag8a8s


Teraz myślę nad sformowaniem zapytania, które zwróci mi kod_bezpieczeństwa dla kombinacji 14,58,200 - bądź FALSE jeśli kombinacje nie istnieją
bo nie posiadają takiego samego kodu_bezpieczeństwa

Próbowałem z zapytaniem w postaci:
  1. SELECT count(kod_bezpieczenstwa) AS licz FROM table1 WHERE id_opcji IN(14,58,200) AND product_id = 'MASŁO' GROUP BY kod_bezpieczenstwa LIMIT 1;


ale parametr "IN" nie spełnia swojej funkcji bo nie zadziała on jak bramka "AND" - że te 3 parametry muszą być dla funkcji "IN" wystarczy, że znajdzie w tabeli 14, 58 i już zwróci mi pozytywny wynik.

UNION również nie sprawdza się do końca, ponieważ zwraca również kombinacje z innym "kodem_bezpieczeństwa"
  1. (SELECT kod_bezpieczenstwa FROM table1 WHERE id_opcji = 14 AND product_id = 'MASŁO')
  2. UNION
  3. (SELECT kod_bezpieczenstwa FROM table1 WHERE id_opcji = 58 AND product_id = 'MASŁO')
  4. UNION
  5. (SELECT kod_bezpieczenstwa FROM table1 WHERE id_opcji = 200 AND product_id = 'MASŁO')


Ten post edytował wujek2009 8.12.2012, 12:00:51
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 Aktualny czas: 21.08.2025 - 07:59