如何从PHP更改html的<p>内部文本?

时间:2015-11-12 01:53:59

标签: php html json

我试图从PHP更改HTML元素的内部文本..这甚至可能吗?我正在为我的网站构建聊天应用程序(实时聊天),我需要通过查询数据库来不断更新聊天,但我仍然坚持要从PHP中获取元素并从HTML更改其内部文本。提前谢谢。

<?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);
}
?>

2 个答案:

答案 0 :(得分:2)

要更改任何元素内部或网站上任何时刻或位置的内容,最简单且可能最佳的方式是Ajax请求。

使用ajax请求,您基本上可以发送帖子或将服务器发送到任何给定的URL。

您还可以传递数据(变量/对象)。这样,您可以将任何用户生成的数据发送到您的服务器并使用它执行某些操作。 (例如输入字段)。

请求完成后,您有3个回调:successcompleteerror

无论成功或错误回调后是什么,总是会被触发。在成功回调中,您可以返回请求的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');
        }
    });
});

答案 1 :(得分:1)

我猜你正在寻找Ajax

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

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

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

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