亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何更改我的代碼以便用戶只能喜歡該帖子一次?

如何更改我的代碼以便用戶只能喜歡該帖子一次?

不負相思意 2023-06-29 22:35:09
我想制作一個類似的系統,這就是我到目前為止所擁有的。我不知道如何讓它只增加一次,有人可以幫助我嗎?我覺得我可能必須使用會話變量,但我不確定。索引.php <?php    $con = mysqli_connect('localhost', 'root', '','phplikes');    $query = "SELECT * FROM meme_vote ORDER BY vote DESC";    $res = mysqli_query($con, $query);        ?><!DOCTYPE html><html><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Meme Voting System</title>   <!-- Latest compiled and minified CSS --><link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"><script src="https://code.jquery.com/jquery-3.4.1.min.js"></script><!-- Latest compiled and minified JavaScript --><script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>    </head><body><div class="container">    <div class="row">        <?php while($row = mysqli_fetch_assoc($res)){ $location = $row['video_location'];?>              <div class="col-md-4">                <div class="post">                    <h4 class="post-title"><?php echo $row['title']?></h4>                    <div id="postdesign">                        <video src="<?php echo $row['video_location'] ?>" width="100%" height="240" controls></video>                    </div>                    <a href="javascript:void(0)" class="btn btn-info btn-lg">                   <span class="glyphicon glyphicon-thumbs-up " onclick="like_update('<?php echo $row['id']?>')">Vote                         (<span id="like_loop_<?php echo $row['id']?>"><?php echo $row['vote']?></span>)                     </span>                                         </a>                </div>            </div>        <?php }?>        </div></div>另外只是為了讓您知道,我已經建立了會話變量,即。$_SESSION['user_id']和 `$_SESSION['用戶名']
查看完整描述

1 回答

?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

由于您已經有一個 user_id,我假設您有一個 users 表。


您可以創建一個包含 meme_vote_id 和 user_id 列的新表,以及使用這兩個字段的唯一索引:


CREATE TABLE `meme_voters` (

  `meme_vote_id` INT UNSIGNED NOT NULL,

  `user_id` INT UNSIGNED NOT NULL,

  UNIQUE INDEX `unique_voter` (`meme_vote_id`, `user_id`)

);

然后當有人投票時:


$sql = mysqli_query($con,"SELECT COUNT(*) AS count FROM meme_voters WHERE meme_vote_id={$id} AND user_id={$_SESSION['user_id']}" );

$rs = mysqli_fetch_object($sql);

if ( $rs->count == 0 ) {

    $sql = "INSERT INTO meme_voters (meme_vote_id, user_id) VALUES ({$id}, {$_SESSION['user_id']})";

    mysqli_query($con, $sql);


    $sql = "UPDATE meme_vote SET vote=vote+1 WHERE id=$id";

    $res = mysqli_query($con, $sql);

}


查看完整回答
反對 回復 2023-06-29
  • 1 回答
  • 0 關注
  • 158 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號