因此,我嘗試使用帶有 Ajax 的復選框來更新我的資料庫中的欄位(id[int]、status[boolean])。這應該在不重繪 頁面和不使用提交按鈕的情況下完成。我嘗試了多個教程,非似乎對我有用。僅舉幾例: 選中復選框時 Ajax 更新資料庫、 更改 ajax 呼叫復選框、 使用復選框更新資料庫
請我真的需要幫助這個已經好幾天了。這是我的嘗試:
索引.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script type="text/javascript" src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script src="jquery.min.js"></script>
</head>
<body>
<input type="checkbox" name="action1" id="action1" title="Action 1" value="1"/>
<script type="text/javascript">
$("#action1").change(function () {
var value = $(this).val();
$.ajax({
type: "POST",
url: "update.php",
async: true,
data: {
action1: value // as you are getting in php $_POST['action1']
},
success: function (msg) {
alert('Success');
if (msg != 'success') {
alert('Fail');
}
}
});
});
</script>
</body>
</html>
更新.php
<?php
$servername = "localhost";
$username = "root";
$password = "";
$database = "api";
// Create connection
$conn = new mysqli($servername, $username, $password, $database);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//echo "Connected successfully";
if($_POST['action1']==1){ //as used variable name "value" in ajax post data
$sql = "UPDATE toggle SET status = '1' WHERE id = '1'"; //query was incomplete and missing ";"
echo 'success';
}
else{
$sql = "UPDATE toggle SET status = '0' WHERE id = '1'"; // missing ";"
echo 'success';
}
$result=$conn->query($sql);
?>
uj5u.com熱心網友回復:
無論發送什么資料,您的更新檔案都會回傳“成功”。試試這個方法:
索引.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj 3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
</head>
<body>
<input type="checkbox" name="action1" id="action1" title="Action 1" value="2"/>Action
<script type="text/javascript">
$("#action1").change(function () {
var value = $(this).val();
$.ajax({
type: "POST",
url: "update.php",
async: true,
data: {
action1: value // as you are getting in php $_POST['action1']
},
success: function (msg) {
alert(msg);
}
});
});
</script>
</body>
更新.php
<?php
$servername = "localhost";
$username = "root";
$password = "";
$database = "stackoverflow";
// Create connection
$conn = new mysqli($servername, $username, $password, $database);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
if($_POST['action1']==1){
$sql = "UPDATE toggle SET status = '1' WHERE id = '1'";
echo 'success';
}
else{
$sql = "UPDATE toggle SET status = '0' WHERE id = '1'";
echo 'fail';
}
$result=$conn->query($sql);
?>
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/326182.html
標籤:javascript 查询 阿贾克斯
