php - 从 MySQL 解析多行并插入到 HTML 表中

标签 php javascript mysql html

我目前有一个使用 PHP 访问的 MySQL 数据库。您搜索一个姓名,它会返回该人的联系信息。但是,有时您搜索一个已经存在的姓名,它会返回 2 个人的联系信息。

我正在使用 JavaScript 将信息插入到 HTML 表中。 PHP 将联系信息作为由空格分隔的长字符串返回。我使用 split 函数,同时使用空格字符作为分隔符。

当搜索结果仅返回 1 个名称时,这一切都很好。当它返回 2 个姓名时,我无法弄清楚这两个联系人的信息如何分开。因为 PHP 将它们作为 1 个连续字符串返回。

这是我的 php 代码片段:

$data = mysql_query($sqlString) or die("Issue here:" . mysql_error());

    while($row = mysql_fetch_array($data)){
        print $row['firstName'] . " " . $row['lastName'];
    };

这是我的 JavaScript 代码片段:

$.post("searchDB.php", {search:$("#searchValue").val(), 
       searchType:$("#searchType").val()}, 
       function(results) {
          var parsedResults = results.split(" ");
          //code for inserting into HTML.
       });

最佳答案

我建议使用分隔符将一个人的全名与下一个人分开:

$data = mysql_query($sqlString) or die("Issue here:" . mysql_error());

    while($row = mysql_fetch_array($data)){
        print $row['firstName'] . " " . $row['lastName'] . "__";
    };

导致以下 jQuery(假设您不需要将名字和姓氏分离到不同的元素):

$.post("searchDB.php", {search:$("#searchValue").val(), 
       searchType:$("#searchType").val()}, 
       function(results) {
          var fullNames = results.split('__');
          var table = $('tableSelector');
          for (var i=0,len=fullNames.length; i<len; i++){
              var newTr = $('<tr />').append('<td>' + fullNames[i] + '</td>');
              $(newTr).appendTo(table);
          }
       });

另一方面,如果您需要将名字和姓氏放在单独的单元格中:

$.post("searchDB.php", {search:$("#searchValue").val(), 
       searchType:$("#searchType").val()}, 
       function(results) {
          var fullNames = results.split('__');
          var table = $('tableSelector');
          for (var i=0,len=fullNames.length; i<len; i++){
              var firstName = fullNames[i].split(' ')[0];
              var lastName = fullNames[i].split(' ')[1];

              var newTr = $('<tr />').append('<td>' + firstName + '</td><td>' + lastName + '</td>');
              $(newTr).appendTo(table);
          }
       });

关于php - 从 MySQL 解析多行并插入到 HTML 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8691290/

相关文章:

javascript - 更改 ReCaptcha 语言 OnClick

mysql - 是否有可能有一个 NOT NULL 的外键指向 MySQL 数据库中的任何行?

php - 使用php将一(+1)添加到mysql数据库中的字段

javascript - 从 ASP.NET 中的操作方法检索 Json 对象

javascript - 在 JavaScript 字符串中将 '-' 替换为 '--'

mysql - 限制在 INNER JOINS 中不起作用

mysql - 从 TableView 填充网格时如何在 CGrideView 中设置键值

php - 使用ajax更新数据库-处理错误

php - 如何从php中的字符串中获取逗号分隔值

php - 从搜索中排除文件夹,但仍考虑在 Netbeans 7 (php) 的导航中