私は自分のウェブサイトのお気に入りの機能に加えて、すべてのことがうまくいきます。
私はadd to favourites button
AJAX呼び出しがデシベルとjquery - ページのリロード時にonclickメソッドで変更されたテキストを保持しています
「お気に入りから削除」にボタンのテキストを変更することで、データが今の問題は、私はページをリロードするとき、それは再び「お気に入りに追加するには、ボタンのテキストをリセットしていることを挿入しているクリックしてください以前はお気に入りとしてマークされていました。
私のコードは
<button class='btn btn-sm btn-info favourite_feature' value="<?php echo $id;?>">add to favourite</button>
jQueryの
$(".favourite_feature").click(function(){
var _this = $(this);
var postid = _this.val();
$.ajax({
type : 'POST',
url : 'add_to_favourite.php',
dataType : 'json',
data : {course_id : postid},
success : function(response){
console.log(response);
if(response.error_type == 'no error'){
alert('done');
(_this).html(_this.html()=='add to favourite' ? 'remove from favourites' : 'add to favourite');
}else{
if(response.error_type == 'login'){
$('#myModal').modal('show');
}
}
}
});
});
EDITです:あなたがいるかどうかを確認する必要があり、サーバー側で追加されたサーバ側のコード
<?php
session_start();
include 'includes/dbconfig.php';
if(!isset($_SESSION['google_data'])){
$response = array('success' => 0, 'error_type' => 'login');
echo json_encode($response);
}else{
$id = $_SESSION['id'];
$c_id = $_POST['course_id'];
$_SESSION['course_id']=$c_id;
$u_email = $_SESSION['google_data']['email'];
$check_favourites = "SELECT * from favourites_table where user_id = '$id' and course_id = '$c_id'";
$check_favourites_query = mysqli_query($conn,$check_favourites) or die(mysqli_error($conn));
$check_favourites_result = mysqli_fetch_array($check_favourites_query);
if($check_favourites_result){
$del = "DELETE FROM favourites_table where user_id = '$id' and course_id = '$c_id'";
$del_favourites = mysqli_query($conn,$del) or die(mysqli_error($conn));
}else{
$insert_query = "INSERT INTO favourites_table(course_id,user_id,user_email) VALUES('$c_id','$id','$u_email')";
mysqli_query($conn,$insert_query);
}
$response = array('success' => 1, 'error_type' => 'no error');
echo json_encode($response);
}
?>
すること(つまり、すべてのユーザーがその状態を切り替えることができます。)各ユーザーまたは各ポストのための好みのポストデータを格納するデータベースですか? – grateful
DBからデータを取得し、DBエコーに対応するボタンのテキストに保存されているお気に入りの状態に応じて取得する必要があります。 –
私はサーバー側のコードを追加して投稿を編集しましたが、はい、お気に入りの結果IDをdb内のユーザーIDと一緒に格納しています – parvez