为了账号安全,请及时绑定邮箱和手机立即绑定

无法获得从 PHP 到 JS 的多个回显

无法获得从 PHP 到 JS 的多个回显

PHP
白衣染霜花 2023-08-11 11:06:04
我正在尝试将所有具有相同名称的行从 MySQL 数据库获取到 HTML 表。所以基本上,我的 php 脚本调用getRequestToShow.phpechoes value to .js 文件(它通过使用 向 php 脚本询问值XMLHttpRequest)。然后这个 .js 文件添加 HTML 表中的行。我从 php 中回显 MySQL 行,如下所示:$conn = new mysqli($servername, $username, $password, $db_name);if ($conn->connect_error){  die("Connection failed: " . $conn->connect_error);}$id = $_GET['id'];$id = mysqli_real_escape_string($conn,$id);$query = "SELECT * FROM `requests` WHERE `name`='$id'";$result = mysqli_query($conn,$query);while($row = mysqli_fetch_array($result)) {echo json_encode(array('first'=>$row['name'],'second'=>$row['amount'],'third'=>$row['date'],'fourth'=>$row['state']));}..但我只能从数据库中获取 HTML 表中的值。如果有多于一行同名,则 HTML 表格上不会显示任何内容。function showUser45(str) {    var tableRef = document.getElementById('customers').getElementsByTagName('tbody')[0];    var newRow   = tableRef.insertRow(tableRef.rows.length);    var xmlhttp22 = new XMLHttpRequest();    xmlhttp22.onreadystatechange = function() {      if (xmlhttp22.readyState == 4 && xmlhttp22.status == 200) {          if(xmlhttp22.responseText === "") {            var newCell  = newRow.insertCell(0);            var newText  = document.createTextNode("No earlier withdraws");            newCell.appendChild(newText);          } else {            var h2 = JSON.parse(xmlhttp22.responseText);            var newCell1  = newRow.insertCell(0);            var newText1  = document.createTextNode(h2.first);             var newCell2  = newRow.insertCell(1);            var newText2  = document.createTextNode(h2.second);             var newCell3  = newRow.insertCell(2);            var newText3  = document.createTextNode(h2.third);             newCell1.appendChild(newText1);             newCell2.appendChild(newText2);            newCell3.appendChild(newText3);
查看完整描述

1 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

将数据收集到一个数组中,然后进行一次回显


$res = [];

while($row = mysqli_fetch_array($result)) {

    $res[] = [ 'first'=>$row['name'], 

                'second'=>$row['amount'],

                'third'=>$row['date'],

                'fourth'=>$row['state']

            ];

}


echo json_encode($res);

现在,您必须更改 JS 以始终期望数组或行,因此循环遍历h2var


查看完整回答
反对 回复 2023-08-11
  • 1 回答
  • 0 关注
  • 71 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信