Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [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)....


(IMG:style_emoticons/default/ohno-smiley.gif)

Będę wdzięczny za pomoc (IMG:style_emoticons/default/smile.gif)

Go to the top of the page
+Quote Post
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 (IMG:style_emoticons/default/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
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 (IMG:style_emoticons/default/smile.gif) A czy wszystko pasuje to jeszcze wyjdzie potem w testach (IMG:style_emoticons/default/smile.gif) . Dzięki (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 02:31