我有一個按鈕叫做Add to Favourites
。當點擊這個按鈕時,它執行一個PHP查詢,其中的數據進入db。這裏是存儲數據的表:根據PHP和數據庫條件交替顯示按鈕
favourites
表:
id
favourited_who
favourited_by
用戶可以僅由登錄用戶一次收藏最多。例如,如果Alice已經登錄,那麼Alice只能收藏一次Freddy,如果Freddy已經被收藏,那麼add to favourites
按鈕將被替換爲remove from favourites
按鈕。
這裏是我的PHP查詢將數據發送到DB:
if (isset($_POST['addfriend'])) {
$fav_request = $_POST['addfriend'];
$favourited_who = $user; // u variable
$favourited_by = $username; // logged in user
$q = mysqli_query ($connect, "SELECT * FROM favourites");
while ($r_query = mysqli_fetch_array($q)) {
$db_fav_who = $r_query['favourited_who'];
$db_fav_by = $r_query['favourited_by'];
if ($db_fav_by == $username){ // check to see which users favourites we are checking
// if the user already exists in the logged in users favourites, then display remove from favourites button.
if ($db_fav_who == $user){
echo "<div class='edit_profile'>
<input type='submit' class='btn btn-info' name='remfriend' value='Remove from Favourites'>
</div";
}
}
}// while loop closed
if ($user != $username) { // Check: See user isnt favouriting themself.
$favourite_user = mysqli_query($connect, "INSERT INTO favourites VALUES ('', '$favourited_who', '$favourited_by')");
$errMsg = "Favourited";
echo "done ";
}
}
if ($user == $username){
// dont display buttons
} else {
echo " <form method='post'>
<input type='submit' class='btn btn-info' name='sendmsg' value='Send Message'/>
<input type='submit' class='btn btn-info' name='addfriend' value='Add to Favourites'>
</form>";
}
有了這個代碼,將數據插入到數據庫如預期,而remove from favourites
按鈕出現,但它與一起出現add to favourites
按鈕,當只顯示其中的一個時,取決於用戶是否喜歡。
底線,只有兩個按鈕應該顯示在所有時間,與Add to favourites
按鈕沿send message
按鈕,如果用戶未啓用在那裏的收藏夾,或者與remove from favourites
按鈕沿send message
按鈕,如果它們在收藏夾(如果數據在數據庫中,它們已被登錄的用戶所青睞)。
你錯過閉幕'/'中的'>括號。 –