Тема: Як для сайту зробити "Друзі" (php+mysql)
Як реалізувати для сайту "Друзі" щоб користувачі мали можливість долучати один одного до друзів. ?
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → PHP → Як для сайту зробити "Друзі" (php+mysql)
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Як реалізувати для сайту "Друзі" щоб користувачі мали можливість долучати один одного до друзів. ?
табличка friends
поля
userID - varchar(10),
friendsID - varchar(10)
<?
if(isset($_GET['addFriend']) && isset($_GET['userID']) && is_numeric($_GET['addFriend']) && is_numeric($_GET['userID']) {
//clean up $userID and $friendID if needed
$friendID = somefunction($_GET['addFriend']);
$userID = somefunction($_GET['userID']);
$sql = <<<SQL
INSERT INTO friends (userID, friendsID) VALUES ({$userID},{$friendID})
SQL;
$result=$mySQL->query($sql);
}
?>
табличка friends
поля
userID - varchar(10),
friendsID - varchar(10)<? if(isset($_GET['addFriend']) && isset($_GET['userID']) && is_numeric($_GET['addFriend']) && is_numeric($_GET['userID']) { //clean up $userID and $friendID if needed $friendID = somefunction($_GET['addFriend']); $userID = somefunction($_GET['userID']); $sql = <<<SQL INSERT INTO friends (userID, friendsID) VALUES ({$userID},{$friendID}) SQL; $result=$mySQL->query($sql); } ?>
дякую, наприклад у мене є таблиця users в якій id,lastname,name...т.д. як так зробити щоб у того користувача якого я додаю у друзі прийшла заявка Прийняти або Відхилити ... ну так як вконтакте дуже потрібно
В users не варто, бо там є один запис на кожного користувача. А в нього може бути багато друзів, тобто краще створити нову табличку де будуть описані їх невпорядковані зв’язки.
На рахунок 2-х стороннього френдування, то добавте в табличку поле конфірм і заповнюйте її коли друг підтвердить. Показувати йому повідомлення коли він має непідтверджені запити. Якщо відхиляє, то видаляти запис з таблички.
Якщо відхиляє, то видаляти запис з таблички.
Тут трошки не так тому що запис з таблички не можна видаляти. При такому розкладі юзер може 100 раз просити запрошення а інший 100 раз видаляти. Моя пропозиція
user_relations
user_relations.id int(11)
user_relations.user_id int(11)
user_relations.friend_id int(11)
user_relations.status tinyint(1)
Поле статус може бути:
0 - створено дружбу user_id дав запит на дружбу friend_id
1 - дружба прийнята friend_id нажав Ок
2 - дружба НЕ прийнята friend_id нажав Відхилити
і пізніше якщо user_id захоче ще раз дати запит на дружбу friend_id він не зможе цього робити так як уже запрошення було відхилено
сповіщення можете іншу таблицю робити тоді буде зручно досить ставити в чергу кому що терба повідомляти
І що вже передумати потім не можна?
Хоча з видаленням таки так. Просто хотів булеве поле запропонувати, можна зробити тоді енум.
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися