gpt4 book ai didi

php - AJAX 加载时插入数据

转载 作者:行者123 更新时间:2023-11-29 10:27:38 26 4
gpt4 key购买 nike

我正在尝试使用 php 将数据插入数据库,但我不知道如何执行此操作,事实上我也搜索了 google,但没有正确的解决方案。

我的 Ajax 代码是:

if(window.location == "path/to/file") {
$(window).on('load',function() {
var id = $("#id").val();
var cd = $("#cd").val();
var ed = $("#ed").val();
var status = $("#status").val();

if(ed == cd){
status = "Stopped";
console.log(status);
$.ajax({
type: "POST",
url: "wba.php",
data: "status=" + status,
success: function(data) {
alert("sucess");
}
});
}
else{
console.log('Running');
}
});
}

现在我不知道如何从ajax获取数据并使用php将其插入到我的数据库中,我的数据库表结构是

INSERT into table_name(id, cd, ed, status) VALUES();

此文件下面提到了我的 WBA.php 文件代码,我首先从表中获取数据,然后当当前时间等于结束时间时,我希望此页面自动将广告状态从运行更改为停止并更新值在数据库中,无需刷新页面,甚至无需单击任何按钮。

<div id="main-content">
<div class="casteform">
<?php
$query = "SELECT * FROM advertisements WHERE ad_category = 'weddingbellsad'";
$run = mysqli_query($con, $query);
if(mysqli_num_rows($run) > 0){
while ($row = mysqli_fetch_assoc($run)) {
$ad_id = mysqli_real_escape_string($con, $row['ad_id']);
$ad_company = mysqli_real_escape_string($con, $row['ad_company']);
$ad_start_date = mysqli_real_escape_string($con, $row['ad_start_date']);
$ad_duration = mysqli_real_escape_string($con, $row['ad_duration']);
$ad_reminder_days = mysqli_real_escape_string($con, $row['ad_reminder_days']);
$ad_reminder_date = mysqli_real_escape_string($con, $row['ad_reminder_date']);
$ad_end_date = mysqli_real_escape_string($con, $row['ad_end_date']);
$ad_payment_method = mysqli_real_escape_string($con, $row['ad_payment_method']);
$ad_payment_amount = mysqli_real_escape_string($con, $row['ad_payment_amount']);
$ad_category = mysqli_real_escape_string($con, $row['ad_category']);
$ad_status = mysqli_real_escape_string($con, $row['ad_status']);
$ad_current_date = date('Y-m-d h:i:s');
?>
<div class="adrow">
<h4>Company Name: <?php echo $ad_company . " ( " . $ad_id . " ) "; ?> <small><?php echo $ad_status ?></small></h4>
<ul>
<li><span>Starting Date:</span> <?php echo $ad_start_date; ?></li>
<li><span>Duration:</span> <?php echo $ad_duration . " Days"; ?></li>
<li><span>Reminder:</span> <?php echo "Before ". $ad_reminder_days . " Day(s)"; ?></li>
<li><span>Reminder Date:</span> <?php echo $ad_reminder_date; ?></li>
<li><span>Ending Date:</span> <?php echo $ad_end_date; ?></li>
<li><span>Payment Method:</span> <?php echo $ad_payment_method; ?></li>
<li><span>Payment Amount:</span> <?php echo "Rs - " . $ad_payment_amount; ?></li>
<li><span>Ad Category:</span> <?php echo $ad_category; ?></li>
</ul>
<form>
<input type="text" id="id" value="<?php echo $ad_id; ?>" />
<input type="text" id="cd" value="<?php echo $ad_current_date; ?>" />
<input type="text" id="ed" value="<?php echo $ad_end_date; ?>" />
<input type="text" id="status" value="<?php echo $ad_status; ?>" />
</form>
</div>
<?php
}
}
else{
header("location: view-wedding-bell-ad.php?error=".urlencode("No advertisements found so far."));
exit();
}
?>
</div>

最佳答案

要通过 ajax 传递多个值,您需要调整 .ajax 调用(请注意 data 更改):

$.ajax({
type: "POST",
url: "wba.php",
data: {
"id" : id,
"cd" : cd,
"ed" : ed,
"status" : status
},
success: function(data) {
alert("sucess");
}
});

然后在 PHP 方面的 wba.php 中,您可以通过以下方式获取这些值:

$_POST['id']
$_POST['cd']
$_POST['ed']
$_POST['status']

至于所有其他数据库交互等,我们需要您自己尝试,并找出您的目标和所需的结果。它有点宽泛,超出了 StackOverflow 的范围,让其他人在这一点上为您编写所有这些内容。如果您需要进一步的帮助,您可以随时提出另一个问题来解决您遇到的特定问题。

但重要的是:请务必使用“准备好的声明”!因为这将有助于保护您免受最常见的攻击媒介之一的侵害。

示例启动器 ( http://php.net/manual/en/mysqli-stmt.bind-param.php ):

$stmt = $mysqli->prepare("INSERT into table_name(id, cd, ed, status) VALUES(?, ?, ?, ?)");
$stmt->bind_param('ssss', $_POST['id'], $_POST['cd'], $_POST['ed'], $_POST['status']);
$stmt->execute();

关于php - AJAX 加载时插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47995465/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com