Привет всем.Я думаю, что у меня логическая ошибка в моем QryВывод правильный, но в тройках.Я долго смотрел на это и не видел этого.Может кто-то пролить свет на это?Спасибо !!
Также хотел бы добавить эту информацию.
- $ userid = 1
- $ UserIDAList = (1,1,6)
- $ UserIDBList = (2,3,1)
PHP-код:
$result = mysql_query("SELECT TBL_ContactsList.ContactID, TBL_ContactName.FirstName FROM TBL_ContactsList, TBL_ContactName WHERE ((TBL_ContactName.NameID != $userid) AND (TBL_ContactsList.ContactID != $userid)) AND ((TBL_ContactName.NameID IN ($UserIDAList) OR TBL_ContactName.NameID IN $UserIDBList)))");
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
printf ("ID: %s Name: %s", $row[0], $row[1]);
echo "<br/>";
}
Только SQL-запрос (читабельность):
SELECT TBL_ContactsList.ContactID, TBL_ContactName.FirstName
FROM TBL_ContactsList, TBL_ContactName
WHERE ((TBL_ContactName.NameID != $userid) AND (TBL_ContactsList.ContactID != $userid))
AND ((TBL_ContactName.NameID IN ($UserIDAList) OR TBL_ContactName.NameID IN $UserIDBList)))
Вывод:
ID: 2 Name: Joe
ID: 3 Name: Joe
ID: 4 Name: Joe
ID: 2 Name: Jimbo
ID: 3 Name: Jimbo
ID: 4 Name: Jimbo
ID: 2 Name: Mike
ID: 3 Name: Mike
РЕДАКТИРОВАТЬ: Вот то, что я в конечном итоге использовать.(здесь не могу определить отступ.)
Но сейчас я пропускаю запись из БД.
$result = mysql_query("<br>
SELECT cl.ContactID, cn.FirstName<br>
FROM TBL_ContactName AS cn<br>
INNER JOIN TBL_ContactsList AS cl<br>
ON cl.ContactID = cn.NameID<br>
WHERE<br>
cn.NameID != $userid<br>
AND (<br>
cn.NameID IN ($UserIDBList) OR cn.NameID IN ($UserIDAList)<br>
)<br>
");
Вывод выглядит следующим образом.
ID: 2 Имя: Джо
ID: 3 Имя: Джимбо
Но когда я ставлю LEFT JOIN, я получаю это.Закрыть, но все еще отсутствует ID.
ID: 2 Имя: Джо
ID: 3 Имя: Джимбо
ID: Имя: Майк
Есть идеи ??Спасибо!