我正在尝试从PHP更改HTML元素的内部文本。。这可能吗?我正在为我的网站构建一个聊天应用程序(实时聊天),我需要通过查询数据库来不断更新聊天,但我一直在获取元素,并将其内部文本从HTML改为PHP。提前谢谢。
<?php
if (isset($_POST['iChat'])){
$db_address = 'localhost';
$db_username = 'root';
$db_password = '';
$db_name = 'chat';
$connection = mysqli_connect($db_address, $db_username, $db_password, $db_name);
$message = $_POST['iChat'];
$personaname = $_COOKIE['personaname'];
if ($message != '' && $personaname != ''){
$query = "INSERT INTO chat VALUES (null, '{$personaname}', '{$message}')";
mysqli_query($connection, $query);
}
}
function get(){
$db_address = 'localhost';
$db_username = 'root';
$db_password = '';
$db_name = 'chat';
$connection = mysqli_connect($db_address, $db_username, $db_password, $db_name);
$query = "SELECT `sender`, `message` FROM chat";
$result = mysqli_query($connection, $query);
>>>> GET ELEMENT HERE <<<<<<
return json_encode($result);
}
?>
要更改网站上任何元素内、任何时刻或位置的内容,最简单、可能也是最好的方法是Ajax请求。
使用ajax请求,您基本上可以向任何给定的URL发送帖子或访问服务器。
您还可以传递数据(变量/对象)。通过这种方式,您可以将任何用户生成的数据发送到服务器并对其进行处理(例如输入字段)。
请求发出后,您有3个回调:success
、complete
、error
。
无论是成功回调还是错误回调,complete都会被触发。在成功回调中,您可以返回请求的result
(从php文件返回的值)。
在error
回调中,您可以通知用户出现了问题,例如,当请求以错误的请求或错误的网关或超时、404/503等响应时。
更多信息可以在这里找到,包括一些其他有用的功能):http://api.jquery.com/category/ajax/
示例代码:
jQuery(document).ready(function($){
$.ajax({
url: '?act=process',
type: 'post',
data: {
id: $id,
name:$name,
description:$description
},
success: function (result) {
$('.alert-success').show();
console.log('Yay it worked');
},
error: function (xhr, ajaxOptions, thrownError) {
$('.alert-danger').show();
console.log('Something went wrong');
}
});
});
我想您正在寻找Ajax
-
你可能有一个触发按钮
-
点击按钮,启动ajax请求(例如:使用jQuery ajax)请求PHP代码返回的数据库数据。
-
如果请求成功,请将返回的数据放入HTML元素中。
document.getElementById("ElementID").innerHTML = "Data return by PHP!";