Каков наилучший способ ввода данных, полученных из базы данных в PHP, в отдельные html <div>? - PullRequest
0 голосов
/ 24 января 2020

В настоящее время я работаю над чатом на Facebook, с тремя разными окнами чата, которые должны работать одновременно Я могу отправлять и читать сообщения из своей базы данных, но у меня возникают проблемы с отображением этой информации в нужном месте. В chat.php у меня есть этот фрагмент кода:

        $.ajax({
            url: "fetch_user_chat_history.php",
            method: "POST",
            data: jQuery.param({receiver_id:receiver_id, num:num}),
            success: function(data) {
                $('$chat_history_'+receiver_id).html(data);
            }
        });

Теперь я могу правильно читать данные из моей базы данных в fetch_user_chat_history.php, но когда я перебираю свои сообщения, я не могу вывести их правильно вернуться в чат. php. Вот мои fetch_user_chat_history.php:

<?php
    include "opendb.php";
    session_start();
    $output1 = '';
    $output2 = '';
    $increment = 0;
    $sender = $_SESSION['user_id'];
    $receiver_id = $_POST['receiver_id'];
    $chatboxnum = $_POST['num'];
    $query = 'SELECT content, timestamp_chat, sender_id FROM messages WHERE (sender_id = '.$sender.' AND receiver_id = '.$receiver_id.' OR (sender_id = '.$receiver_id.' AND receiver_id = '.$sender.'))';
    $statement = $db->prepare($query);
    $statement->execute();
    $result = $statement->fetchAll(PDO::FETCH_ASSOC);
    switch ($chatboxnum) {
        case 1:
            foreach ($result as $row) {
                if ($row['sender_id']==$sender) {
                    echo '<script>var para = document.createElement("div");';
                    echo 'para.innerHTML = '.$row["content"].';';
                    echo 'var att = document.createAttribute("class");';
                    echo 'att.value = "msg-send";';
                    echo 'para.setAttributeNode(att);';
                    echo 'document.getElementById("sendbox-1").appendChild(para);';
                    echo 'document.body.appendChild(para); </script>';
                }
                else {
                    echo "var element = document.getElementById('receivebox-1'); element.classList.add('msg-receive');";
                }
                $increment += 1;
            }
        break;
    }

?>

Ни одно из моих echo утверждений ничего не добавляет к chat.php. Я уверен, что это очень легко исправить, так как я делал это раньше, но я не могу заставить его работать. Прошу прощения за длинный пост.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...