单击图像时,我需要在MySQL中使用新值更新表。
$("#image1").click(function(){
以下是查询示例:
mysqli_query($conn,"UPDATE photos SET rating='$ratingnew1' WHERE link='$img1link'");
如何仅在单击图像时执行该查询?
答案 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
操作发送的变量(因为请求的type
为POST
)。有关更多可能的设置和药水,请参阅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']."'")
}