Как заменить другой тег div на искомый текст? - PullRequest
0 голосов
/ 27 августа 2018

Я получил окно поиска на панели навигации вверху.

<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}?>

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

Если я в состоянии понять вашу проблему, то вам следует следовать приведенным ниже инструкциям: вам просто нужно обновить переменную $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 } ?>
0 голосов
/ 27 августа 2018

Во-первых, я бы предложил использовать метод формы 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;?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...