【问题标题】:How to replace a different div tag with the searched text?如何用搜索到的文本替换不同的 div 标签?
【发布时间】:2018-08-27 06:02:08
【问题描述】:

我在顶部的导航栏中找到了搜索框。

<li class="nav-item">
    <form action="model/action-search.php" class="search-form" method="POST">
        <div class="form-group has-feedback">
            <label for="search" class="sr-only fa fa-search">Search</label>
            <input type="text" class="form-control" name="search" placeholder="search">
            <input type="submit" name="submit">
        </div>
    </form>
</li>

动作文件。

if(isset($_POST['submit']))
{
    $search = stripcslashes($_POST['search']);
    $search = mysqli_real_escape_string($con,$search);

    $query = $con->query("SELECT * FROM agencyemployee MATCH (agcName , nmName , agcemail) AGAINST ('".$search."')");
    header("Location:../sampsearch.php");
}

我已经在这里展示了一排保姆。我想要的是,当我搜索某些内容时,我想在这里用搜索到的文本替换显示的行。

<div class="row">
<?php
     $query = $con->query("SELECT * FROM agencyemployee");
     while($row = mysqli_fetch_array($query))
     {
?>
      <div class="col-md-4 col-sm-6 portfolio-item">
        <div class="portfolio-caption">
          <h4><?php echo $row['nmName']; ?></h4>
        </div>
      </div>
<?php}?>

【问题讨论】:

  • 搜索 PHP jquery AJAX
  • 您的意思是要突出显示行中的搜索文本?
  • 没有andriusain。我想在里面全部换掉。

标签: javascript php jquery mysqli


【解决方案1】:

首先,我建议您使用 GET 表单方法,因为这样您的搜索字符串将反映在 URL 中,您可以参考它。

如果我理解得很好并且您想要做的是突出显示每一行中的搜索文本,那么我会这样做:

<div class="row">
<?php
  $query = $con->query("SELECT * FROM agencyemployee");
  while($row = mysqli_fetch_array($query)) : ?>
  <div class="col-md-4 col-sm-6 portfolio-item">
    <div class="portfolio-caption">
      <h4>
        <?php
          $name = $row['nmName'];
          if (isset($_GET['search'])) {
            $name =  str_replace($_GET['search'], "<span class='search-highligh'>" . $_GET['search'] . "</span>", $name);
          }
        ?>
        <?php echo $name; ?>
      </h4>
    </div>
  </div>
  <?php endwhile;?>

【讨论】:

    【解决方案2】:

    如果我能够理解您的问题,那么您应该按照以下说明进行操作: 您应该根据您的要求更新$query 变量,就像您想要获取搜索信息或所有信息一样。在这种情况下,只需稍微更改您的代码:

    <div class="row">
    <?php
    
      $query = "SELECT * FROM agencyemployee";
      if(isset($_POST['submit']))
      {
        $search = stripcslashes($_POST['search']);
        $search = mysqli_real_escape_string($con,$search);
    
        $query = "SELECT * FROM agencyemployee MATCH (agcName , nmName , 
        agcemail) AGAINST ('".$search."')";
    
     }
      $result = $con->query($query);
      while($row = mysqli_fetch_array($result))
      {
    ?>
          <div class="col-md-4 col-sm-6 portfolio-item">
            <div class="portfolio-caption">
              <h4><?php echo $row['nmName']; ?></h4>
            </div>
          </div>
    <?php } ?>
    

    【讨论】:

    • 你可以试试目前的格式。如果两个查询都能正常工作,那么它应该会给出您需要的结果。
    猜你喜欢
    • 2014-05-07
    • 2012-12-17
    • 1970-01-01
    • 1970-01-01
    • 2011-01-06
    • 1970-01-01
    • 2011-03-13
    • 2014-03-17
    • 2013-06-13
    相关资源
    最近更新 更多