4

我正在从 php mysql 服务器中提取搜索数据,并希望将其显示在表格中。这是我到目前为止编写的代码。

function getrows(page, parameters, element_id)
{
if (parameters.length==0)
{ 
    document.getElementById(element_id).innerHTML="";
    return;
}
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
        document.getElementById(element_id).innerHTML=xmlhttp.responseText;
    }
}
xmlhttp.open("GET",page + "?" + parameters,true);
xmlhttp.send();
}

<table style="text-align: left; width: 0%; margin-left: auto; margin-right: auto;" border="1" cellpadding="2" cellspacing="0">
<tbody>
<tr style="background-color:#d0e4fe;">
    <td>First Name:</td>
    <td>Last Name:</td>
    <td>Date of Birth:</td>
    <td>Phone Number:</td>
    <td>Action:</td>
</tr>
<tr>
    <td><input onkeyup="getrows('actions/search_member.php', 'first_name=' + getvalue('first_name') + '&last_name=' + getvalue('last_name') + '&birth_date=' + getvalue('birth_date') + '&home_phone=' + getvalue('home_phone'), 'search');" name="first_name"></td>
    <td><input onkeyup="getrows('actions/search_member.php', 'first_name=' + getvalue('first_name') + '&last_name=' + getvalue('last_name') + '&birth_date=' + getvalue('birth_date') + '&home_phone=' + getvalue('home_phone'), 'search');" name="last_name"></td>
    <td><input onkeyup="getrows('actions/search_member.php', 'first_name=' + getvalue('first_name') + '&last_name=' + getvalue('last_name') + '&birth_date=' + getvalue('birth_date') + '&home_phone=' + getvalue('home_phone'), 'search');" name="birth_date"></td>
    <td><input onkeyup="getrows('actions/search_member.php', 'first_name=' + getvalue('first_name') + '&last_name=' + getvalue('last_name') + '&birth_date=' + getvalue('birth_date') + '&home_phone=' + getvalue('home_phone'), 'search');" name="home_phone"></td>
    <td></td>
</tr>
<div id="search"></div>
</tbody>

search_member.php 根据以这种格式输入到输入中的内容返回 5 个成员的列表:

 <tr>
    <td>data</td>
    <td>data</td>
    <td>data</td>
    <td>data</td>
    <td>data</td>
 </tr>

search_member.php 作品我已经测试过了。正如您所看到的,我试图将这些数据内部 HTML 到具有“搜索”ID 的 div 中。我认为它不起作用,因为 div 不能进入表格。我使用了 js insertRow 和 jquery,但是当您键入从 search_member.php 返回的数据时,每次都不同,并且 js insertRow 和 jquery 只是不断添加行,您会得到 500 行。我只需要一种方法,它在我的表中的最后一个 < /tr> 之后插入为 search_member.php 返回的数据。

感谢你的帮助。

4

1 回答 1

2

评论几乎暗示了这一点,但无论如何:我看不出为什么第一行在搜索之间不应该完好无损。它看起来也是使用 a 添加语义的完美案例thead

<thead>
  <tr style="background-color:#d0e4fe;">
    <td>First Name:</td>
    <td>Last Name:</td>
    <td>Date of Birth:</td>
    <td>Phone Number:</td>
    <td>Action:</td>
  </tr>
</thead>
<tbody id="result-rows">
  <!-- the area which is populated by rows -->
</tbody>

使用超过 1 个tbody元素是有效的 HTML5/XHTML,但恕我直言,在这种情况下没有必要。element_id当设置为“结果行”时,这将正常工作(注意+=):

document.getElementById(element_id).innerHTML += xmlhttp.responseText;
于 2012-10-26T08:59:02.673 回答