使用AJAX将数据发送到服务器?

时间:2015-04-22 14:26:58

标签: php jquery mysql

单击图像时,我需要在MySQL中使用新值更新表。

$("#image1").click(function(){

以下是查询示例:

mysqli_query($conn,"UPDATE photos SET rating='$ratingnew1' WHERE link='$img1link'");

如何仅在单击图像时执行该查询?

3 个答案:

答案 0 :(得分:0)

$("#image1").click(function(){
    $.ajax({url: "update.php", 
         data: {img1link : 'image link', ratingnew1: 'rating'});
});

然后是update.php文件

<?php
mysqli_query($conn,"UPDATE photos SET rating='$ratingnew1' WHERE link='$img1link'")
?>

答案 1 :(得分:0)

事实上,您的代码必须包含两部分:客户端(JQuery)和服务器端(PHP)。 JQuery代码可以是

$(document).ready({
    $("#image1").click(function(){
        $.ajax({
            url: "update.php", 
            type: "POST",
            data: {
                img1link : 'image link', 
                ratingnew1: 'new rating'
            },
            succsess: function(data){
                //some action
            }
        });
    });
});

data块中,您必须声明将由POST操作发送的变量(因为请求的typePOST)。有关更多可能的设置和药水,请参阅JQuery.ajax() documentation

对于服务器端(在此特定示例中为update.php),您可以使用以下代码:

<?php
$data['img1link'] = '';
$data['ratingnew1'] = '';
foreach($data as $key=>$value){
    if(array_key_exists($key, $_POST))
        $data[$key] = $_POST[$key];
}

if($data['img1link'] != '')
    mysqli_query($conn,"UPDATE photos SET rating='".mysqli_real_escape_string($data['ratingnew1'])."' WHERE link='".mysqli_real_escape_string($data['ratingnew1'])."'");

答案 2 :(得分:0)

$("#image1").click(function(){
    $.post("update.php",{img1link : this.src});//here You send POST request to the server with post data img1link = src tag value of image
});

update.php

//and here You receive data $_POST['img1link']
    if(!empty($_POST)) {
       mysqli_query($conn,"UPDATE photos SET rating=rating+1 WHERE link='".$_POST['img1link']."'")
    }