Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sklejenie dwój zmiennych w SELECTcie
Forum PHP.pl > Forum > Przedszkole
PiiiTeeeR
Potrzebuje dokleić zmienną $firma do zmiennej $dostęp w tym SELECT'cie tak żeby były razem w nawiasie w 'in'. Cały czas coś źle sklejam i wyskakuje mi biały ekran. Pomożecie?

  1. [b]$firma[/b]='in company';
  2. $dostęp='access';
  3. $OQuery = "select count(*) as suma from mozliwosci where osoba ='".$osoba."' and mozliwosci_type in(".$dostep.") ";
com
wklej ten kod poprawnie i nie widzę abyś doklejał gdzieś $firma do $OQuery
PiiiTeeeR
masz normalnie
  1. $firma='in company';
  2. $dostęp='access';
  3. $OQuery = "select count(*) as suma from mozliwosci where osoba ='".$osoba."' and mozliwosci_type in(".$dostep.") ";


a tutaj jakieś moje próby

  1. $OQuery = "select count(*) as suma from mozliwosci where osoba ='".$osoba."' and mozliwosci_type in(".$dostep."."$firma.") ";
com
były tam jakieś znaczniki bbcode wink.gif teraz jest ok biggrin.gif

to co chcesz zawrzeć w in wpisz tam jako zwykły tekst i sprawdź czy zapytanie się wykona, jak tak to pokaż jak to ma wyglądać, bo nwm jaka jes twoja idea tej konkatenacji i cel smile.gif

  1. $firma=' in company';
  2. $dostęp='access';
  3. $OQuery = "select count(*) as suma from mozliwosci where osoba ='$osoba' and mozliwosci_type in('{$dostep}{$firma}') ";


zakładam że chodziło o cos takiego, ale moge sie mylic
PiiiTeeeR
Pod zmienną $firma i $dostęp są bardzo długie stringi, pobierane z mysql'a. Dlatego nie będę ich przepisywał, zmieniłem je na jakieś 2 krótkie wyrazy żeby było po prostu widać o co mi chodzi :/ Potrzebuje znaleźć jakiś sposób żeby je scalić w tym nawiasie.
com
btw var_dump($OQuery); to podstawa

no ok ale każdy z tych stringów co reprezentuje, bo w in każdy index oddzielasz ,

po drugie
  1. ini_set('display_errors','1');


bo błędy Ci sie nie pojawiają skoro biała strona

poza tym scal je poza nim a tam wstaw juz gotowego stringa z wartościami http://www.tutorialspoint.com/mysql/mysql-in-clause.htm
PiiiTeeeR
wiem, wiem. używam vardump'a.


Aha, czyli załóżmy że jeżeli pod zmienną


$dostep =' "A","B","C" ';

$firma = ' or ("D" and "E") or ("F" and "G") ';

to nie ma możliwości tego połączyć ponieważ w $firma każda index nie jest rodzielony?
com
nie, wewnątrz in nie możesz użyć operatora on, bo in oznacza konkretne indeksy http://stackoverflow.com/questions/782915/...-in-performance
PiiiTeeeR
okej poprobuje inaczej, dzieki w każdym razie, przynajmniej nie będę się z tym grzebał w tę strone! wink.gif
com
Mała rada zmien idee budowy bazy, wykorzystaj relacje zamiast budowac stringa o n zaleznosciach, wtedy Twoje zapytanie stanie sie o wiele prostsze i bd dzilac o wiele szybciej
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.