Я строил сайт, как социальную сеть.Запросы веб-сайта продвинутые
И я сделал 3 стола: users
, posts
и friends
.
Как я могу написать код для отображения сообщения от меня и от моих друзей: Users: id, email, username, password, image
Posts: id, pid, pname, ppost, pimage
Friends: id, user1, user2, friends(yes or no)
Поэтому мне нужно проверить, если user1 составляет $ _SESSION [пользователь], чем тоже проверяйте каждую строку с друзьями как «да» и «эхо» каждый пост от пользователя1 (меня) и других пользователей, которые мои друзья.
Я сделал несколько кодов, но это сообщения эха только от меня и первого пользователя, я отмечен как друг, я не могу показать сообщения от других пользователей, которых я отметил как друг.
пользователей: ID: 1 электронная почта: [email protected], имя пользователя: тест, пароль: XD, изображение: Это ссылка
Пользователи: ID: 2, электронная почта: [email protected], имя пользователя: test2, пароль: XD, изображение: Ссылка
пользователей: ID: 3, электронная почта: [email protected], имя пользователя: tEST3, пароль: XD, изображение: Ссылка
Сообщений: ID: 1, (PID это идентификатор издателя): etc 1,2,3, pname: имя издателя, ppost: текст, изображение: изображение издателя:
Так что представьте себе, что у меня есть 3 сообщения fr om 3 разных пользователя
Друзья: id: (auto) 1,2,3,4, user1 (user1 является пользователем сеанса), если я вхожу в систему для первого пользователя, это будет 1, user2 (идентификатор другого пользователя, такого как 2 (test2)), друзья (да)
Друзья: id: (авто) 1,2,3,4, user1 (user1 является пользователем сеанса), если я вхожу в систему для первого пользователя, он будет 1, user2 (id другого user like 3 (test3)), друзья (да)
Поэтому мне нужно эхо-сообщения от пользователей (меня) и двух других и каждого другого пользователя, у которых есть друзья (да) и не отображаются сообщения от пользователей которые отмечены нет.
Я сделал это до сих пор: Querys:
`session_start();
$res=mysql_query("SELECT * FROM users WHERE id=".$_SESSION['user']);
$row=mysql_fetch_array($res);
$res2=mysql_query("SELECT * FROM posts WHERE pid=".$_SESSION['user']);
$row2=mysql_fetch_array($res2);
$res3=mysql_query("SELECT * FROM obavijesti");
$row3=mysql_fetch_array($res3);
$res5=mysql_query("SELECT user1, user2 FROM osobe WHERE friends='yes' AND user1='$_SESSION[user]' order by id limit 5000");
$row5=mysql_fetch_array($res5);
$user2=$row5['user2'];
$user1=$_SESSION['user'];
`
PHP скрипт:
<?php $result = mysql_query("SELECT * FROM posts WHERE pid='$user1' OR pid='$user2' order by id desc limit 5000") ?>
<div class="publishcontent">
<link rel="stylesheet" type="text/css" href="testt.css">
<div class="posts">
<article class="post">
<header class="post-header"><span class="post-user-name"><?php echo $row4['pname']; ?></span><span class="post-header-posted">Objavljeno: Danas</span></header>
<div class="post-flex-container">
<aside class="post-user">
<image src="<?php echo $row4['pimage']; ?>" class="post-user-image"></image>
<div class="post-user-status is-online">TEST</div>
<div class="post-user-posts">Broj objava: x</div>
<div class="post-user-joined"><?php if($row['spol'] == "zensko") {
echo "Pridružila se";
}
else {
echo "Pridružio se";
} ?> : <?php echo $row['date']; ?></div>
</aside>
<section class="post-content">
<p>
<?php echo htmlspecialchars($row4['ppost']); ?>
</p>
</section>
</div>
</article>
</div>
</div>
<?php endwhile ?>
И он отображает только сообщения от меня и от первого лица я помеченное как друг, но не показывать сообщения от третьего лица
Но моя таблица пользователей, как это: ид, user1, user2 , друзья 1, 1, 2, yes 2, 1,3, yes 3, 2,3, yes Если у меня то, что я хочу, я еще не изучил внутреннее соединение, если бы вы могли отправить мне ссылку , и что вы имеете в виду от многих до многих отношений. И знаете ли вы, как я могу проверить, является ли user1 другом с user2 и user3, (User1 = 1, User2 = 2 user3 = 3, bcs - это идентификатор из таблицы пользователей), причем этот код над ним отображает только сообщения от user1 (me) (bcs я вошел в систему) и user2, но не user3 – PHPSelfLearning
Я пересмотрел свой ответ, чтобы помочь вам –
Спасибо, я попробую :) – PHPSelfLearning