在PHP中,是否有可能在while循环内向链接发送POST数据?

20 浏览
0 Comments

在PHP中,是否有可能在while循环内向链接发送POST数据?

我正在使用基本的PHP和AJAX,并且我想将从MySQL数据库中选择的数据发布到在线链接,并获取返回的响应以用于更新其他信息。我正在使用AJAX来发布数据,但我无法获取返回的数据以用于更新信息。

是否可以直接使用PHP来实现?怎么做?什么是最佳方法?

代码:

$sql = $conn->query("SELECT * FROM hospitals");
if($sql){
    // $json_array = array();
    while($row = $sql->fetch_assoc()){
$output = '{"h_code": "' . $row['h_code'] . '", "h_name": "' . $row['h_name'] . '"}';
?>


query("UPDATE hospital SET h_online_id=  ");
}
}

AJAX调用的响应'data'返回了我想要更新本地数据库中的一列的在线数据库的值。

0
0 Comments

在PHP中,使用while循环POST数据到链接的问题的原因是PHP是服务器端的,而JavaScript是客户端的。所以在while循环中,JavaScript代码会被写入页面多次,导致POST数据到链接的操作也会执行多次,这可能不是我们想要的结果。

为了解决这个问题,可以使用CURL来代替JavaScript。CURL是一个用于与服务器进行通信的库,可以通过PHP代码发送HTTP请求。

以下是使用CURL的示例代码:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://example.com/api/link");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
            "postvar1=value1&postvar2=value2&postvar3=value3"); // 修改$postvar的值
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec($ch);
curl_close ($ch);
// 进一步处理...
if ($server_output == "OK") { ... } else { ... }

通过使用CURL,我们可以在PHP代码中直接发送POST请求,并获得服务器的响应。这样就避免了在while循环中多次执行相同的操作,从而解决了问题。

感谢您的提问,希望以上解决方法对您有帮助。

0