Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да актуализирате MySQL с PHP и AJAX без ОСНОВЯВАНЕ на СТРАНИЦАТА

Ajax в jQuery работи по следния начин:

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.
   }
});

Това няма да обнови страницата ви, но ще изпрати „POST“ на посочения URL адрес. На посочената от вас страница искате да направите каквото искате и да кажете връщане на резултат. В моя пример ще направя нещо просто:

if($_POST['myData']===1)return True;

Това са основите на AJAX заявка, използваща jQuery.

РЕДАКТИРАНЕ!

иницииране на AJAX скрипт:само предполагам, тъй като не знам вашите елементи във вашия html, нито вашите скриптове какво толкова! Така че ще трябва да направите корекции!

$('button.dislike').click(function(){
    $.ajax({
        type:'POST',
        url:'disliked.php',
        data:{dislike:$(this).attr('id')},
        success:function(result){
            $(this).prev('span').append(result);
        }
    });
 });

PHP:не използвайте mysql, вече е амортизиран и се счита за лоша практика, също така не знам защо използвате sprintf в заявката? :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++;

Това ще работи само ако във вашия HTML има поредица от бутони с ID, съответстващи на тези във вашата база данни. И така

$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>";
}

Надявам се, че получавате обща представа за това как управлявам вашата система от бутони за нехаресване XD хаха




  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 не е синхронизирана при изпълнение на вмъкване от celery

  2. Внедряване на база данни с най-гледани функции

  3. Промяна на текущия брой на стойност за автоматично увеличение в MySQL?

  4. Множество mysql INSERT изрази в една заявка php

  5. как да получите текст от pdf файл и да го запишете в DB