如何更改html';s<;p>;PHP的内部文本


How to change html's <p> inner text from PHP?

我正在尝试从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个回调:successcompleteerror

无论是成功回调还是错误回调,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

  1. 你可能有一个触发按钮

  2. 点击按钮,启动ajax请求(例如:使用jQuery ajax)请求PHP代码返回的数据库数据。

  3. 如果请求成功,请将返回的数据放入HTML元素中。

    document.getElementById("ElementID").innerHTML = "Data return by PHP!";