Объеденение запросов, проблема

Print RSS
151

Author
Пацак
0
Воообщем пишу запрос
<?
SELECT * FROM
                      `friends`
                     JOIN
					  `users`
					 ON
                      `friends`.`user` = '$user[id]'
					 AND
					  `friends`.`zajavka` = '1'
                     AND
                      `users`.`onl` + '100' > '" . time() . "'
					 AND
					  `users`.`id` != '$user[id]'
					 ORDER BY `users`.`id` DESC {$n->limit}

с целью, выбрать людей из таблици своих друзей, обьеденить с таблицей юзеров, в которой выбрать всех людей которые онлайне. Тобишь вывести таким макаром всех друзей в онлайне. Фича работает немного иначе, если кто-то из друзей в онлайне - выводит всех, нужно соответственно только тех, кто в онлайне. Что же не так?
K

Транклюкаторщик
0
ваай, как не читабельно то код пакуешь
Author
Пацак
0
ну мне так удобнее)

ツ ツ ツ
0
Часть условия перенеси во where
А

Пацак
0
Может так?
<?php
$sql="SELECT * FROM  `friends` 
 JOIN  `users` 
 ON  `friends`.`user` = `user`.`id`
WHERE `friends`.`zajavka` = '1'  AND `users`.`onl` + '100' > '" . time() . "'        AND  `users`.`id` <>  '{$user[id]}' 
ORDER BY `users`.`id` DESC {$n->limit};";
?>
Author
Пацак
0
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource

Добавлено через 03:07 сек.
Толик, я думал у меня ON пойдет как WHERE т.е. еще один WHERE ненужен, это ты имел ввиду как dekameron написал чтоль? ЗЫ зачем там <>
Changed: Дмитрий (02.06.2011 / 13:22)
В

Чатланин
0
структура таблиц бы помогла
Author
Пацак
0
friends
id|user|who

id - ключ
user - я
who - друг

users
id|onl

id - я
onl - время онлайна
В

Чатланин
0
Я в JOINах не особо шарю и сам пишу вот таким синтаксисом.
<?
SELECT users.* 
FROM users,friends
WHERE friends.user='$user_id' AND users.id=friends.who AND (users.onl+100)>UNIX_TIMESTAMP();
?>
Author
Пацак
0
ну это тоже что ты поставил запятую, что я JOIN принцип один
Stickers / Tags / Rules / Top topics / Top Posts / Search