Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách cập nhật MySQL bằng PHP và AJAX mà không cần LÀM MỚI TRANG

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




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL động THAM GIA

  2. Cách so sánh giá trị rỗng trong MySQL

  3. SQLSTATE [HY000]:Lỗi chung:1835 Gói giao tiếp không đúng định dạng trên LARAVEL

  4. SQL Lấy toàn bộ hàng dựa trên giá trị tối thiểu của cột được tính toán

  5. Cách hiển thị dữ liệu từ cơ sở dữ liệu với dải hàng dài động