Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Как запретить скачивание уже скаченых пользователем ссылок?
Покинул форум
Сообщений всего: 22
Дата рег-ции: Авг. 2012
Помог: 0 раз(а)
Ребята, у меня возник такой вопрос...
Есть в базе две таблицы.
Первая отвечает, за вывод ссылок. которые добавил пользователь.
Вторая записывает id скаченой ссылки, пользователя и саму ссылку.
Нужно сделать так, чтоб после того, как во вторую базу записались данные с первой таблицы, этот пользователь или эта ссылка больше не была доступна эту человеку...
{echo"тут выводим все ссылки которые не равны между собой";}
else{echo"тут не чего не делаем, а лучше вообще запрос не производим";}
?>
Думаю, наглядно всё хорошо описал...
Но только оно зараза не работает. Что не так?
P.S. Нужно сделать так, чтоб после скачивания ссылки пользователь качавший её, её больше не видел, но другие участники могли её качать и после скачивания тоже у них она должна пропасть...
tuareg
Отправлено: 15 Августа, 2012 - 10:22:06
Участник
Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010
SELECT t1.*FROM tabl1 AS t1 LEFTJOIN tabl2 AS t2 ON t1.link!=t2.link
WHERE t2.user='id_user'
tabl1==> отвечает, за вывод ссылок. которые добавил пользователь.
tabl2==> записывает id скаченой ссылки, пользователя и саму ссылку
индекс на t1.link и индекс на (t2.link,t2.user)
lutyi1984
Отправлено: 15 Августа, 2012 - 10:36:18
Новичок
Покинул форум
Сообщений всего: 22
Дата рег-ции: Авг. 2012
Помог: 0 раз(а)
tuareg пишет:
SELECT t1.* FROM tabl1 AS t1 LEFT JOIN tabl2 AS t2 ON t1.link!=t2.link
WHERE t2.user='id_user'
Не совсем понял запрос можно прокомментировать его.. Вытаскиваем строку из таблицы tabl1 ... дальше не понимаю..
Stierus
Отправлено: 15 Августа, 2012 - 10:42:39
Рекордсмен по количеству сообщений за 7 дней
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
1: выбираем айдишники (у вас это могут быть не айдишники, а что угодно)
2: из таблицы ссылок пользователя
3: присоединяем к первой таблице информацию из второй таблицы так: если во второй таблице есть строка, у которой link_id равен id из первой таблицы - то получается общая строка с информацией из обеих таблиц, если во второй таблице такой строки нет - то всместо значений ячеек второй таблицы, они наполняются null
4: Из тех соединенных строк нам нужны только те, для которых link_id Null - то есть записи во второй таблицы нет (Добавление)
tuareg, ваш запрос выведет не то, что вы ожидаете
lutyi1984
Отправлено: 15 Августа, 2012 - 12:01:22
Новичок
Покинул форум
Сообщений всего: 22
Дата рег-ции: Авг. 2012
1: выбираем айдишники (у вас это могут быть не айдишники, а что угодно)
2: из таблицы ссылок пользователя
3: присоединяем к первой таблице информацию из второй таблицы так: если во второй таблице есть строка, у которой link_id равен id из первой таблицы - то получается общая строка с информацией из обеих таблиц, если во второй таблице такой строки нет - то всместо значений ячеек второй таблицы, они наполняются null
4: Из тех соединенных строк нам нужны только те, для которых link_id Null - то есть записи во второй таблицы нет (Добавление)
tuareg, ваш запрос выведет не то, что вы ожидаете
Как я понимаю запрос...
Вытащить все строки из таблиц ssylka и test_config и приравнять таблицы ssylka и test_config у которых значения строк ssylka != ssylka_letitbit не равны между собой и у которых user !='$login' логин не равен с переменной логин.
FROM ssylka AS test_config // из таблиц ssylka и test_config
LEFT JOIN ssylka AS test_config ON ssylka != ssylka_letitbit // Как я понимаю тут сравнимваються две таблицы /* сравнить таблицу ssylka со строкой ssylka с таблицей test_config со строкой ssylka_letitbit, где они не равны между собой */
WHERE user !='$login // Где логин не равняеться переменной $login (тут я не понимаю к какой он обращаеться таблице, поясните)
Я его вот так понимаю, но он пока не работает... (Добавление)
lutyi1984 пишет:
SELECT *
FROM ssylka AS test_config
LEFT JOIN ssylka AS test_config ON ssylka != ssylka_letitbit
WHERE user !='$login
FROM ssylka AS test_config // из таблиц ssylka и test_config
LEFT JOIN ssylka AS test_config ON ssylka != ssylka_letitbit // Как я понимаю тут сравнимваються две таблицы /* сравнить таблицу ssylka со строкой ssylka с таблицей test_config со строкой ssylka_letitbit, где они не равны между собой */
WHERE user !='$login // Где логин не равняеться переменной $login (тут я не понимаю к какой он обращаеться таблице, поясните)
Я его вот так понимаю, но он пока не работает...
Viper
Отправлено: 15 Августа, 2012 - 13:25:10
Активный участник
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
lutyi1984 пишет:
ут я не понимаю к какой он обращаеться таблице, поясните
к той в которой есть сравниваемое поле. Если это поле присутствует в обоих таблицах одновременно, обращайтесь к нужному через алиас.
Да и ещё момент. Я так понимаю у вас часть данных продублированна в обоих таблицах? Если да, то может нужно как-то оптимизировать?
FROM ssylka AS test_config // из таблиц ssylka и test_config
LEFT JOIN ssylka AS test_config ON ssylka != ssylka_letitbit // Как я понимаю тут сравнимваються две таблицы /* сравнить таблицу ssylka со строкой ssylka с таблицей test_config со строкой ssylka_letitbit, где они не равны между собой
WHERE user !='$login // Где логин не равняеться переменной $login (тут я не понимаю к какой он обращаеться таблице, поясните)*/
if(!$header_99)
{echo"<p style='color:red'>Ой, жалко, но у нас не предвиденная ошибка. Извините.</p>";
}
$test_15="$header_99 ['ssylka']";
echo$test_15;
// конец сравнения
Stierus
Отправлено: 15 Августа, 2012 - 13:57:13
Рекордсмен по количеству сообщений за 7 дней
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
Помог: 52 раз(а)
Цитата:
но теперь не могу вывести какое-то значение...
познавательно Вопросы есть или вы так, поделиться болью? если есть - опишите подробнее, что не выводится, что должно выводиться и почему вы считаете, что оно должно выводиться
lutyi1984
Отправлено: 15 Августа, 2012 - 13:57:53
Новичок
Покинул форум
Сообщений всего: 22
Дата рег-ции: Авг. 2012
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.