我目前有一个使用PHP访问的MySQL数据库。您搜索一个姓名,它会返回此人的联系信息。但是,有时您搜索一个已经存在的名称,它会返回 2 个人的联系信息。
我正在使用JavaScript将信息插入HTML表中。PHP 以空格分隔的长字符串形式返回联系信息。我正在使用拆分函数,同时使用空格字符作为分隔符。
当搜索结果仅返回 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
$result = mysql_query("SELECT * FROM table WHERE name='$name'"); //sample query
$output = "";
while ($data = mysql_fetch_array($result){
foreach($data as $key => &$value){
$output .= $value." ";
}
$output .= "'n" // new MySQL row delimiter
}
?>
您可以选择任何您想要的新行分隔符(这里我选择了新行(然后你只需输出$output
你想要:) (打印/回声(然后你以某种方式通过JavaScript解析它