1

私の Web アプリケーションには 2 つのボタンがあります。1 つは「いいね」、もう 1 つは「嫌い」です。

ユーザーは自分のプロフィールを気に入ることはできません。

データベースチェックで、そのプロファイルを好きまたは嫌いにしたいユーザーの行が既にあることが示されている場合、「あなたはすでにこのユーザーを気に入っています」または「あなたはすでにこのユーザーを気に入っています」というメッセージが表示されるようにするためのコードを探していますこのユーザーは嫌いです」

<? if ($_POST['like']){
  if(strtolower($view) == strtolower($fetchAccount['UserName'])){
    echo "You cannot Like yourself!<br /><br/>";
  } else {
     mysql_query("INSERT INTO `ProfileLikes` (`id`, `Profile`, `Rated`,
         `LikedDisliked`, `Date`) VALUES ('', '{$fetchUser['UserName']}',
         '{$fetchAccount['UserName']}', 'Liked', '$time')");
    echo "You Liked {$fetchUser['UserName']}!<br /><br />";
  }
}

if ($_POST['Dislike']){
  if(strtolower($view) == strtolower($fetchAccount['UserName'])){
    echo "You cannot DisLike yourself!<br /><br />";
  } else {
    mysql_query("INSERT INTO `ProfileLikes` (`id`, `Profile`, `Rated`,
      `LikedDisliked`, `Date`) VALUES ('', '{$fetchUser['UserName']}',
      '{$fetchAccount['UserName']}', 'Disliked', '$time')"); 
    echo "You DisLiked {$fetchUser['UserName']}!<br /><br />";
  }
}
?>

誰でも助けてもらえますか?前もって感謝します。:)

4

1 に答える 1

0

どうぞ。

<?php

//-------Like section---------
if ($_POST['like']){

  if(strtolower($view) == strtolower($fetchAccount['UserName'])){

    echo "You cannot Like yourself!<br /><br/>";

  } else {

     //Check whether user 'liked' the other user already.
     $selectQuery = "select * from `ProfileLikes` where `Profile` = '" . 
          $fetchUser['UserName'] ."' AND `Rated` = '" . 
          $fetchAccount['UserName'] . "' AND `LikedDisliked` = 'Liked' ";
     $resultSetCheck = mysql_query($selectQuery);
     $rowLikedExistsArray = mysql_fetch_assoc($resultSetCheck);

     if (!empty($rowLikedExistsArray)) {

         //He 'liked' it already!
         echo "You have already liked this user! <br /><br/>";

     } else {         

         //insert new 'like'
         mysql_query("INSERT INTO `ProfileLikes` (`id`, `Profile`, `Rated`,
             `LikedDisliked`, `Date`) VALUES ('', '{$fetchUser['UserName']}',
             '{$fetchAccount['UserName']}', 'Liked', '$time')");
        echo "You Liked {$fetchUser['UserName']}!<br /><br />";

     }
  }
}

//-------Dislike section---------
if ($_POST['Dislike']){

  if(strtolower($view) == strtolower($fetchAccount['UserName'])){

    echo "You cannot DisLike yourself!<br /><br />";

  } else {

     //Check whether user 'disliked' the other user already.
     $selectQuery = "select * from `ProfileLikes` where `Profile` = '" . 
          $fetchUser['UserName'] ."' AND `Rated` = '" . 
          $fetchAccount['UserName'] . "' AND `LikedDisliked` = 'Disliked' ";
     $resultSetCheck = mysql_query($selectQuery);
     $rowDislikedExistsArray = mysql_fetch_assoc($resultSetCheck);

    if (!empty($rowDislikedExistsArray)) {

         //He 'disliked' it already!
         echo "You have already disliked this user! <br /><br/>";

    } else {
        //insert new dislike
        mysql_query("INSERT INTO `ProfileLikes` (`id`, `Profile`, `Rated`,
          `LikedDisliked`, `Date`) VALUES ('', '{$fetchUser['UserName']}',
          '{$fetchAccount['UserName']}', 'Disliked', '$time')"); 
        echo "You DisLiked {$fetchUser['UserName']}!<br /><br />";
    }

  }
}

?>

注: いくつかの最適化を行う必要があることがわかります。ただし、コード フローを壊したくありません。

于 2013-01-25T14:31:55.353 に答える