使用搜索输入框时如何从数据库中获取特定数据?

时间:2018-08-30 12:23:33

标签: javascript php jquery

我有一个实时搜索框。在这里,我在搜索框中进行搜索时会填充一些记录。

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属性连接?

1 个答案:

答案 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标记。在该标记中,数据属性也是字符串...并且需要包装...这就是需要双引号"