Evo kod koji sam ja napravio:
function getCards($bankIDsArray, $cardType, $cardCurrency, $cardSystem)
{
$bankIDsArray=(explode('bankIDsArray ', $bankIDsArray, 2));
$cardSystem=(explode('cardSystem ', $cardSystem, 2));
$sql = ("SELECT a.*, b.*, c.*, e.* FROM `cards` AS a
INNER JOIN `cardSystem` AS b ON a.cardSystem = b.idcardSystem
INNER JOIN `banks` AS c ON a.bankID = c.bankID
INNER JOIN `accountType` AS e ON a.cardAccount = e.idaccountType
INNER JOIN `security` AS f f.idsecurity IN (a.security)
WHERE a.bankID IN ($bankIDsArray[1]) AND a.cardSystem IN ($cardSystem[1]) AND a.cardType IN ('$cardType') AND a.cardCurrency IN ('$cardCurrency') AND a.visible = 1");
$query = mysql_query($sql);
return $query;
}
Problem je u ovom delu:
INNER JOIN `security` AS f f.idsecurity IN (a.security)
polje a.security je VARCHAR i sadrzi karaktere u ovom obliku:"1,2,3,4" (naravno bez navodnika). Svaki od tih ID-a je povezan sa jednim f.idsecurity iz `security`.
Ovo sam u PHP-u resio na taj nacin sto sam napravio jos jedan upit posebno i izlistao sam
"SELECT * FROM `security` WHERE `idsecurity` IN (".$getsBank['security'].") AND `visible`= '1'"
Googlao sam 2 dana i nisam nasao resenje.
Molim vas za pomoc, sto pre. Hvala unapred
Prijateljski pozdrav,
--
With The Best Regards,
Daniel Dulić, Web System Development
http://www.citysuteam.com
Telefon: +381 (0) 64 / 364 - 65 - 91
E-Mail: [email protected]
CitySu team, Web Services Company
Antona Aškerca 44/50,
24000 Subotica
CitySu team