首页 > 解决方案 > 如何通过 ajax 和 javascript 从数据库中打印行?

问题描述

我是 php 和 JavaScript 的新手,我想打印表中的所有行

我使用此代码,它可以工作,但没有输出,也没有发生错误

function show(){//function get data and send it to Ajax, and I can make 1 function get 3 parameters 
    //   var formData = new FormData();
    //  formData.append('result', $(("#a").val()));//php elem , html element
    //  formData.append('contactUsEmail', $("#contactUsEmail").val());
    //  formData.append('contactUsMessage', $("#contactUsMessage").val());
    if(false){
        swal("Attention !", "Please fill in all fields", "error");
    }else  {
        //Ajax 
        if (window.XMLHttpRequest) {
            ajax = new XMLHttpRequest();
        } else {
            ajax = new ActiveXObject("Microsoft.XMLHTTP");
        }

        ajax.onreadystatechange = function () {
            if (this.readyState == 4 && this.status == 200) {
                var text =this.responseText; // 0 unvalid , 1 true
                // document.getElementById("a").innerHTML = this.responseText;
            }       
        }

        ajax.open("GET", "one.php", true);
        ajax.send(formData);
    }
}

php代码在这里:

<?php
function OpenCon()
{
    $dbhost = "localhost";
    $dbuser = "root";
    $dbpass = "";
    $db = "chat";
    $conn = new mysqli($dbhost, $dbuser, $dbpass,$db) or die("Connect failed: %s\n". $conn -> error);

    return $conn;
}

function show(){
    $sql = "SELECT id FROM masseges";
    $result = OpenCon()->query($sql);

    if ($result->num_rows > 0) {
        // output data of each row
        while($row = $result->fetch_assoc()) {
            echo "id: ". $row["id"]."bb";
        }
    } else {
        echo "0 results";
    }

    OpenCon()->close();
 }

页面没有错误,但页面空白。我该如何解决?

标签: javascriptphp

解决方案


您实际上并没有将任何 html 标签返回到您的网站。您应该能够在开发控制台的网络选项卡中看到 php echo 的结果。

如果要填充表格,我建议您在网站上创建表格结构并将 php 中的数据添加为新的表格行。HTML:

<table>
    <tr>
        <th>id</th>
    </tr>
</table>

PHP:

echo "<tr><td>id: ". $row['id']."bb</td></tr>";

另一个忠告:看看jquery!将为您节省大量时间!半年前我去过你所在的地方:-)


推荐阅读