Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Dane z pola multiselect a zapytanie do bazy.
kasior
post
Post #1





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 20.12.2005
Skąd: Bydgoszcz

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


Witajcie. Pobieram dane z multiselect-a i wrzucam je do zmiennej $grupa.

Załóżmy, że zaznaczyłem dwa pola i moja zmienna zawiera dwie liczby oddzielone przecinkiem (2,3).

W poniższym przypadku jest wszystko ok:

  1. $sql= 'select ... from ... where groups IN('.$grupa.') and....


ale co zrobić w przypadku takiego zapytania :

  1. $sql= 'select ... from ... where.... and '.$grupa.' IN(select groups from inna_tabela)....


ohno-smiley.gif

Będę wdzięczny za pomoc smile.gif



--------------------
Zapraszam do odwiedzenia mojej strony.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
mmmmmmm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


Chyba tak:
  1. $sql= 'select ... from ... where.... `groups` IN(select groups from inna_tabela WHERE `groups` IN ('.$grupa.'))....


Ten post edytował mmmmmmm 31.05.2015, 17:47:08
Go to the top of the page
+Quote Post
kasior
post
Post #3





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 20.12.2005
Skąd: Bydgoszcz

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


Dobre, ale tu się nie sprawdzi. Nie ma `groups` w pierwszej tabeli więc nie moge tego tak zrobić.

Moze całe zapytanie pokaże. Długie jest i dosć zakręcone smile.gif, ale działa.

  1. $sql= 'SELECT grapha.driver FROM graph AS grapha LEFT JOIN graph AS graphb ON grapha.driver=graphb.driver WHERE grapha.status IN("trainee","on truck","base") and grapha.week = '.$c.' and graphb.status NOT IN("trainee","on truck","base") and graphb.week = '.$cb.' and '.$grupa.' IN(select groups from drivers where driver_id = grapha.driver)';


Zapytanie sprawdza jaki status dla danego kierowcy jest w bieżącym tygodniu a jaki w następnym. Jeżeli są różne to je wybiera. Dodatkowo pokazuje kierowców z wybranych grup w multiselekcie.

Ten post edytował kasior 1.06.2015, 07:37:37


--------------------
Zapraszam do odwiedzenia mojej strony.
Go to the top of the page
+Quote Post
mmmmmmm
post
Post #4





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


A tak:
  1. $sql= 'SELECT grapha.driver FROM graph AS grapha LEFT JOIN graph AS graphb ON grapha.driver=graphb.driver WHERE grapha.status IN("trainee","on truck","base") and grapha.week = '.$c.' and graphb.status NOT IN("trainee","on truck","base") and graphb.week = '.$cb.' and grapha.driver IN(select driver_id from drivers where groups IN ('.$grupa.'))';
Go to the top of the page
+Quote Post
kasior
post
Post #5





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 20.12.2005
Skąd: Bydgoszcz

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


Teraz działa smile.gif A czy wszystko pasuje to jeszcze wyjdzie potem w testach smile.gif . Dzięki smile.gif


--------------------
Zapraszam do odwiedzenia mojej strony.
Go to the top of the page
+Quote Post

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 - 22:57