Ajax trong jQuery hoạt động như thế này:
var myData=1;
$.ajax({
type:'POST',//type of ajax
url:'mypage.php',//where the request is going
data:myData,//the variable you want to send
beforeSend:function(xhr){//as a standard, I add this to validate stuff
if(someThingWrong===true)xhr.abort//aborts xhttpRequest
},
success:function(result){
//result is your result from the xhttpRequest.
}
});
Thao tác này sẽ không làm mới trang của bạn nhưng gửi 'ĐĂNG' đến url được chỉ định. Trên trang được chỉ định của bạn, bạn muốn làm bất cứ điều gì bạn muốn và nói rằng trả về một kết quả. Trong ví dụ của tôi, tôi sẽ làm một cái gì đó đơn giản:
if($_POST['myData']===1)return True;
Đó là những điều cơ bản của một yêu cầu AJAX sử dụng jQuery.
CHỈNH SỬA!
bắt đầu một tập lệnh AJAX:Tôi chỉ đoán vì tôi không biết các yếu tố của bạn trong html cũng như các tập lệnh của bạn là gì! Vì vậy, bạn sẽ phải điều chỉnh!
$('button.dislike').click(function(){
$.ajax({
type:'POST',
url:'disliked.php',
data:{dislike:$(this).attr('id')},
success:function(result){
$(this).prev('span').append(result);
}
});
});
PHP:không sử dụng mysql, nó hiện đã bị giảm giá trị và được coi là hoạt động không tốt, tôi cũng không biết tại sao lại sử dụng sprintf trên truy vấn? :S
$DBH=new mysqli('location','username','password','database');
$get=$DBH->prepare("SELECT dislike FROM random WHERE ids=?");
$get->bind_param('i',$_POST['dislike']);
$get->execute();
$get->bind_result($count);
$get->close();
$update=$DBH->prepare('UPDATE random SET dislike=? WHERE ids=?');
$update->bind_param('ii',++$count,$_POST['dislike']);//if you get an error here, reverse the operator to $count++.
$update->execute();
$update->close();
return String $count++;
Điều này sẽ chỉ hoạt động nếu trong HTML của bạn có một loạt các nút có ID khớp với các nút trong cơ sở dữ liệu của bạn. Vì vậy,
$get=$DBH->prepare('SELECT ids FROM random');
$get->execute();
$get->bind_result($ids);
while($get->fetch()){
echo"<button class='dislike' id='".$ids."'>Dislike this?</button>";
}
Hy vọng bạn có được ý tưởng chung về cách tôi quản lý hệ thống nút không thích của bạn XD lol