Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Dane z pola multiselect a zapytanie do bazy.
Forum PHP.pl > Forum > Przedszkole
kasior
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

mmmmmmm
Chyba tak:
  1. $sql= 'select ... from ... where.... `groups` IN(select groups from inna_tabela WHERE `groups` IN ('.$grupa.'))....
kasior
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.
mmmmmmm
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.'))';
kasior
Teraz działa smile.gif A czy wszystko pasuje to jeszcze wyjdzie potem w testach smile.gif . Dzięki smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.