我有一个实时搜索框。在这里,我在搜索框中进行搜索时会填充一些记录。
search.php
如下:
if(mysqli_num_rows($result) > 0){
// Fetch result rows as an associative array
$output .= '
<div class="table-responsive">
<table style="background-color: darkgray;margin-bottom: 0px !important;" class="table table bordered">
<tr>
<th>Name</th>
<th>Date</th>
</tr>
';
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
$row[] = $r;
$output .= '
<tr>
<td data-name='.$empID.' data-age='.$empAge.'>'.$row["empName"].'</td>
<td data-name='.$empID.' data-age='.$empAge.'>'.$row["joinDate"].'</td>
</tr>
';
} echo $output;
}
这里遇到了一个问题。当data-name属性为null时,inspect会显示
<td data-name="data-age=20"></td>
为什么data-name值与next属性连接?
答案 0 :(得分:1)
您丢失了客户端需要的数据属性双引号"
。
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
$row[] = $r;
$output .= '
<tr>
<td data-name="'.$empID.'" data-age="'.$empAge.'">'.$row["empName"].'</td>
<td data-name="'.$empID.'" data-age="'.$empAge.'">'.$row["joinDate"].'</td>
</tr>
';
} echo $output;
单引号'
是while循环中PHP端使用的字符串定界符,用于产生tr
的HTML标记。在该标记中,数据属性也是字符串...并且需要包装...这就是需要双引号"
。