|
|
|
| Есть такой запрос
<?
$res=mysql_query("SELECT users.nik, users.age, simp_user. * FROM simp_user LEFT JOIN users ON users.id = simp_user.id $where");
?>
|
Таблица user это основная, в ней юзеры храняися.
Таблица simp_user вспомогательная, в ней ид юзера и настройки его (всё это к сервису симпатий по фотографиям, т.е. смотришь фотку, внизу под ней нравится или нет, жмёшь нравится, открывается след. фотка, жмёшь нет, тоже открывается следущая и так пока не кончатся фотки)
И есть таблица с проголосовавшими за фотки
<?
CREATE TABLE `simpatii` (
`komu` int(11) NOT NULL, //Кому понравилась фотка
`kto` int(11) NOT NULL, //Чья фотка
`nrav` int(11) NOT NULL, //0-не понравилась, 1-понравилась
`vzaim` int(11) NOT NULL default '0', //0 если не взаимно, если при записи обнаруживается что
//уже есть поле в котором голосовал тот за кого сейчас голосует юзер и он ему нравится,
//присваевается 1 обоим полям, т.е. взаимна симпатия
`new` int(11) NOT NULL default '1' //Ну и здесь прочитана ли симпатия
)
?>
|
Дак вот. Нужно в запрос который у меня выше как то добавить условие, чтоб в него не попадали юзеры, за которых пользователь уже отдал голос, т.е. в таблице simpatii уже есть запись с ид голосующего в качестве komu и ид из simp_user в качестве kto
Всё это ужасно и в голове у меня не укладывается, но другого решения придумать не могу.
Подскажите пожалуйста )) | |
|
|
|
|
|
|
|
для: f@ntom
(04.03.2010 в 23:17)
| | в одной таблице id первичен - в другой является одновременно чужим.
Вы не сказали, что в какой.
Попробуйте временно вспомогательную таблицу (где ключ - чужой) убрать из запроса.
Затем напишите запрос поиска отсутствующих записей (из тут полно в этом форуме).
Затем добавьте вспомогательную таблицу.
Как-то так нужно действовать... | |
|
|
|
|
|
|
|
для: Trianon
(05.03.2010 в 01:04)
| | В users первичный.
Спасибо за совет, попробую что-то сделать =) | |
|
|
|