css — PHP help: Следуйте Система в микроблогах

Я делаю сайт, похожий на Instagram. Я очень новичок в php. Я создал кнопку подписки в профиле пользователя.

Как сделать так, чтобы следующая кнопка исчезла, когда вы уже следили за пользователем?
Как вы можете заменить его на кнопку отмены подписки?

// мой php код для следования

if (isset($_POST['addfriend'])){$fromuser = $user;
$touser = $username;

if($fromuser == $username){
$Msg = "You cannot follow yourself<br/>";
}
else
{
$getID= mysql_query("SELECT userID FROM user WHERE username='$user'");
$get_ID_row = mysql_fetch_assoc($getID);
$ID_db = $get_ID_row['userID'];

$sql = "insert into following (userID, fromUser, toUser)
values ('$ID_db','$fromuser', '$touser')";

$result = mysql_query($sql);

$Msg= "Success! <br/>";

}
}
else{
//Do nothing
}

// мой код для кнопки «следовать»

                        <form action="<?php $user;?>" method ="POST">
<?php echo $Msg; ?>
<input type = "submit" name ="addfriend" value = "Follow"/>
</form>

0

Решение

На странице, где вы собираетесь показать кнопку «Подписаться» или «Отписаться», сначала запустите запрос MySQL, чтобы выяснить, следует ли вы уже подписаться на этого пользователя:

$sql = "select * from following
where userID = $user
and   fromUser = $fromUser
and   toUser = $toUser";
$result = mysql_query($sql);

if( $result) {
if( mysql_num_rows($result) > 0) {
// if we get here we know we are already following that person
....[see below]

Теперь динамически создайте любую нужную кнопку: —

    if( mysql_num_rows($result) > 0) {
// if we get here we know we are already following that person
echo '<input type = "submit" name ="removefriend" value = "Un-follow"/>';
}
else
{
echo '<input type = "submit" name ="addfriend" value = "Follow"/>';
}

И на следующей странице, где вы получаете результаты формы, проверьте обе кнопки:

if (isset($_POST['addfriend'])) {
...[do what you already have]
}
else
if (isset($_POST['removefriend'])) {
...[do SQL to remove the record from the following table]
}

Помните также, что начиная с PHP v5.5 этот стиль MySQL устарел. На каком-то этапе в будущем вам придется конвертировать ваши программы в расширения MySQLi или PDO_MySQL, прежде чем они в конечном итоге прекратят поддержку. Смотрите руководство PHP по этому поводу, например, http://php.net/manual/en/mysqlinfo.api.choosing.php.

0

Другие решения

Было бы проще с OO PHP. Однако, если вы выбрали процедурный, давайте предположим, что у нас есть таблица друзей. Который держит идентификатор каждого из моих друзей.
например: Смит следует за Джоном

введите описание изображения здесь

Тогда вы делаете что-то вроде
$following = mysql_query("SELECT COUNT(*) FROM followers WHERE followerid = ".$_SESSION['id']." AND followeeid = ".$username);

Проверьте, следите ли вы уже за этим человеком:
if($following){//$following == true
}

0

По вопросам рекламы [email protected]