【发布时间】:2021-07-15 03:18:58
【问题描述】:
我试图在 php 中循环一个 mysql 查询的结果,查询的输出是一个类似于 [10201,10202] 的数组。我想获取结果并将其循环到我的 javascript 函数中名为 id 的变量,并通过我的 ajax 调用的 url 循环它。目标是获取 id 并在另一个页面上的 sql 查询中使用它来更改我们数据库中 id 的日期。
mysql查询:
<?php
// sql query for # print all open orders function
$sql = "SELECT Order_PID
FROM `Order`
WHERE SHIPDATE IS NULL
AND Address1 IS NOT NULL;";
$query = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_assoc($query)) {
$order[] = $row['Order_PID'];
}
?>
javascript函数: 我正在尝试使用 forEach 函数来遍历数组的结果。
$('button#printOpenOrders').on('click', function(e) {
if(confirm("Are you sure you want to print all open orders and mark them as pending?")) {
e.preventDefault();
// prints all open orders
window.open("/resources/scripts/allOpenPDF.php");
var arr = $order;
arr.forEach(function(id) { // <====this function
$.ajax({
url: "/resources/scripts/pending-order.php?id=" + id, // <===this variable
datatype : "string",
success : function(data) {
location.reload(true);
}
})
})
}
});
如果有帮助,这里是我的回调脚本
<?php
// login validation
session_start();
if (!isset($_SESSION['loggedin']) && $_SESSION['loggedin'] != true) {
$url = $_SERVER['DOCUMENT_ROOT'].'/index.php';
header("Location: ../../index.php");
}
// establish connection to database
include $_SERVER['DOCUMENT_ROOT'].'/resources/scripts/dbconnect.php';
$conn = openConnection();
// capture id
$id = $_GET['id'];
$pendingDate = date_create_from_format("m/d/Y", "07/26/1996");
$pendingDate = date_format($pendingDate, "Y-m-d H:i:s");
$sql = $conn->prepare("UPDATE `Order`
SET SHIPDATE = ?
WHERE Order_PID = ?");
$sql->bind_param("si", $pendingDate, $id);
$sql->execute();
echo "success";
closeConnection($conn);
?>
如果我的部分代码没有意义,我是新手,我正在使用我目前有限的知识将所有这一切一起科学怪人。任何朝着正确方向的推动都会非常有帮助。
【问题讨论】:
-
为什么要将 ID 发送到另一个页面进行更新?为什么不马上做呢?
标签: javascript php jquery mysql ajax