我需要在單擊圖像時用MySQL中的新值更新表格。通過AJAX向服務器發送數據?
$("#image1").click(function(){
下面是查詢的一個例子:
mysqli_query($conn,"UPDATE photos SET rating='$ratingnew1' WHERE link='$img1link'");
如何執行該查詢單擊圖像,只有當?
我需要在單擊圖像時用MySQL中的新值更新表格。通過AJAX向服務器發送數據?
$("#image1").click(function(){
下面是查詢的一個例子:
mysqli_query($conn,"UPDATE photos SET rating='$ratingnew1' WHERE link='$img1link'");
如何執行該查詢單擊圖像,只有當?
$("#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'")
?>
爲什麼OP應該這樣做?請添加一個解釋,你做了什麼,爲什麼你這樣做,不僅是爲了OP,而是爲了將來的訪問者SO。 你錯過了PHP方面的關鍵部分。 –
由於事實上你的代碼必須包含2個部分:客戶端(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'])."'");
OP爲什麼要「嘗試這個」?請添加一個解釋,你做了什麼,爲什麼你這樣做,不僅是爲了OP,而是爲了將來的訪問者SO。 你錯過了PHP方面的關鍵部分。 –
$("#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']."'")
}
哪裏是你的代碼的其餘部分? – Naruto
你可以簡單地點擊這個'image1'元素來調用ajax到你的服務器端方法,並向其發佈適當的數據。 –
不是直接的。 JS運行在客戶端上,PHP運行在服務器上。大多數JS可以對服務器執行ajax調用,並以這種方式執行php。 –