Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Wynik SQL na podstawie wyniku z innej tabeli
Forum PHP.pl > Forum > Przedszkole
sasiadstar
Witam
Zrobiłem takie zapytanie
$sql = $conn->prepare("SELECT distinct Product_Code FROM $skad WHERE Collection = :wzornik ORDER BY $co ASC");}
$sql->bindParam(':wzornik', $wzornik, PDO::PARAM_STR);
$sql->execute();
$result = $sql->fetchAll();
.....
I dalej nie wiem co zrobić żeby ten wynik podstawić do zapytania z drugiej tabeli.
Czytałem coś o INNER JOIN ale rozbolała mnie głowa od tego a że jestem po kawie to nie chce dostać palpitacji serca od tego. smile.gif
Próbowałem tak i siak i jak to zwykle bywa bez rezultatu.
Problem jest też taki że w wyniku będę otrzymywał taki zapis

"P358,P359,P360,P361,P362" ,
"P319,P320,P321,P322,P323",
"P340,P350"

Szukam takiego rozwiązania
Zwróć wynik z kolumny Product_Name z tabeli x jeżeli wartość w kolumnie Product_Code zawiera dane ze zmiennej $results


Prosiłbym VIKING-a żeby nie uskuteczniał technicznego bełkotu tylko pisał ewentualnie w jakiś przystępniejszy sposób.
nospor
  1. $sql = $conn->prepare("SELECT distinct skad.Product_Code, x.Product_Name FROM $skad as skad
  2. left join X on skad.Product_Code = x.Product_Code
  3. WHERE Collection = :wzornik ORDER BY $co ASC");}
  4. $sql->bindParam(':wzornik', $wzornik, PDO::PARAM_STR);
  5. $sql->execute();
  6. $result = $sql->fetchAll();
sasiadstar
Dzięki ci Wielki człowieku stawiam flaszkę i zakąskę.
Jeszcze jak byś mógł mnie oświecić swoją mądrością czemu u licha trzeba robić takie cuda?
...bindParam(':wzornik', $wzornik,...
WHERE Collection = :wzornik a nie normalnie WHERE Collection = $wzornik
w połowie zapytania mozna wstawiać zmienne bezpośrednio a tu jakieś cuda. Ki czort to wymyśliłquestionmark.gif
nospor
Poniewaz te "cuda" zabezpieczaja twoja strone przed atakami niedobrych hakerow wiec nie marudz tylko stosuj smile.gif
A w wolnej chwili poczytaj o SQLInjection wink.gif
sasiadstar
Kurka wodna myślałem że wszystko ok ale muszę wrócić do tematu, bo w pewnych okolicznosciach baza zwraca puste wartosci
...
<option>CT42/NEW BASE 2016</option>
<option>CT60/0.5/NEW BASE 2016</option>
<option>null</option>
<option>null</option>
...
vardump
array(4) {
["Product_Code"]=>
string(4) "P357"
[0]=>
string(4) "P357"
["Product_Name"]=>
string(18) "CT79/NEW BASE 2016"
[1]=>
string(18) "CT79/NEW BASE 2016"
}
[21]=>
array(4) {
["Product_Code"]=>
string(9) "P346,P355"
[0]=>
string(9) "P346,P355"
["Product_Name"]=>
NULL
[1]=>
NULL
}
[22]=>
array(4) {
["Product_Code"]=>
string(24) "P319,P320,P321,P322,P323"
[0]=>
string(24) "P319,P320,P321,P322,P323"
["Product_Name"]=>
NULL
[1]=>
NULL
}
Napiszę jak wygląda tabela 1 i tabela 2
tabela1
... koumna 1 kolumna 2 kolumna3... -powiedzmy ze to jest ta szukana
...
Wiesz 1 'a' 'a' 'a' ...
Wiesz 1 'b' 'a' 'a,b,c,d' ...
Wiesz 1 'c' 'd' 'a,b' ...
Wiesz 1 'a' 'a' 'a' ...
Wiesz 1 'b' 'a' 'b,a,c,d,e' ...
Wiesz 1 'c' 'd' 'b' ...



.....tabela2

... koumna 1 kolumna 2 kolumna3...-powiedzmy ze to jest ta szukana
...
Wiesz 1 'aa' 'a' 'a' ...
Wiesz 1 'bb' 'a' 'b' ...
Wiesz 1 'cc' 'd' 'c' ...
Wiesz 1 'dd' 'a' 'd' ...
Wiesz 1 'ee' 'a' 'e' ...
Wiesz 1 'ff' 'd' 'f' ...

Kolumna 1 ma być zwrócona jeżeli który kolwiek z kolumn 3 pasuje do siebie
Zawiera a nie równa się.

W sumie mogłem przy konwertowaniu pliku wsadowego zrobić żeby rozbijał to na poszczególne wiesze ale wtedy ta baza by strasznie spuchła.
Prosiłbym jeszcze o pomoc.
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.