javascript - 以模式显示搜索栏查询结果

标签 javascript html mysql ajax bootstrap-modal

我有一个搜索栏供用户输入查询。单击“搜索”后,应该会出现一个带有查询结果的模式。

我的 index.php 输出仍然没有显示在模式中。当我单击“搜索”时,模态弹出一个空体。 如何让 index.php 的输出显示在模态框的正文中?

我的脚本有问题吗?我需要向 modal-body 添加一些东西吗?

index.php

<head>
  <title>Search</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     <link rel="stylesheet" type="text/css" href="style.css"/>
 </head>
 <body>
  <form method="POST" action="#">
   <input type="text" name="q" placeholder="Enter query"/>
   <input type="button" name="search" value="Search" data-toggle="modal" data-target="#mymodal">
   </form>
 </body>

<script>
  $.ajax({ type: "GET",
        url: 'search.php',
        success: function(data){ debugger $('#mymodal').modal('show');
        $('#mymodal:visible .modal-content .modal-body').html(e); } });
</script>

 <!-- The Modal -->
<div class="modal" id="mymodal">
  <div class="modal-dialog">
    <div class="modal-content">

      <!-- Modal Header -->
      <div class="modal-header">
        <h4 class="modal-title">Modal Heading</h4>
        <button type="button" class="close" data-dismiss="modal">&times;</button>
      </div>

      <!-- Modal body -->
      <div class="modal-body">

      </div>

      <!-- Modal footer -->
      <div class="modal-footer">
        <button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>
      </div>

    </div>
  </div>
</div>

search.php

<?php

  include_once('db.php'); //Connect to database
  if(isset($_REQUEST['q'])){
    $q = $_REQUEST['q'];

    //get required columns
    $query = mysqli_query($conn, "SELECT * FROM `words` WHERE `englishWord` LIKE '%".$q."%' OR `yupikWord` LIKE '%".$q."%') or die(mysqli_error($conn)); //check for query error
    $count = mysqli_num_rows($query);
    if($count == 0){
      $output = '<h2>No result found</h2>';
    }else{
      while($row = mysqli_fetch_assoc($query)){
        $output .= '<h2>'.$row['yupikWord'].'</h2><br>';
        $output .= '<h2>'.$row['englishWord'].'</h2><br>';
        $output .= '<h2>'.$row['audio'].'</h2><br>';
        $audio_name = $row['audio'];
        $output .= '<td><audio src="audio/'.$audio_name.'" controls="control">'.$audio_name.'</audio></td>';
      }
    }
    echo $output;
  }else{
    "Please add search parameter";
  }

  mysqli_close($conn);
?>

最佳答案

使用search.php的这些代码

<?php

    include_once('db.php'); //Connect to database

    if(isset($_REQUEST['q']))
    {
        $q = $_REQUEST['q'];
        $query = mysqli_query($conn, "SELECT * FROM `words` WHERE `englishWord` LIKE '%".$q."%' OR `yupikWord` LIKE '%".$q."%'") or die(mysqli_error($conn)); 
        $count = mysqli_num_rows($query);
        if($count == 0){
          $output = '<h2>No result found</h2>';
        }else{
          while($row = mysqli_fetch_assoc($query)){
            $output .= '<h2>'.$row['yupikWord'].'</h2><br>';
            $output .= '<h2>'.$row['englishWord'].'</h2><br>';
            $output .= '<h2>'.$row['audio'].'</h2><br>';
            $audio_name = $row['audio'];
            $output .= '<td><audio src="audio/'.$audio_name.'" controls="control">'.$audio_name.'</audio></td>';
          }
        }
        echo $output;
      }else{
        "Please add search parameter";
    }

    mysqli_close($conn);
?>

关于javascript - 以模式显示搜索栏查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53511400/

相关文章:

html - 包含 div 的段落边距不扩展

javascript - 隐藏前端的输入值,同时保持后端的值

php - 将PCRE正则表达式转换为mysql查询正则表达式

MySQL - 在多个列中选择多个值,其中所有匹配项都有一个结果

javascript - 我们可以在 Java 脚本中打开 2 个表以在 PHONE GAP 域中工作吗

javascript - 在 JavaScript 中,事件处理程序是否有可能返回内联事件监听器?

html - 如何调整 BootStrap ScrollSpy 中 <div> 的高度?

javascript - AJAX 请求工作正常,但是当我单击按钮内的图标时,出现 500 内部服务器错误

javascript - 通过推送更新类型数组的 Backbone 模型属性

php - 拍卖网站如何运作?