Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改datatable中的警告消息_Javascript_Php_Jquery_Ajax_Datatables - Fatal编程技术网

Javascript 更改datatable中的警告消息

Javascript 更改datatable中的警告消息,javascript,php,jquery,ajax,datatables,Javascript,Php,Jquery,Ajax,Datatables,我有datatable,我有使用两个组合框的高级搜索,我的问题是如果我搜索一些数据,但数据不存在,它会显示如下警告DataTables警告:table id=myTable-无效JSON响应。有关此错误的详细信息,请参阅。现在我想改变警告,就像没有工作一样。请帮帮我。我只是个学生,对不起我的英语 这是我在my search.php中的代码 <section> <div class="container"> <div class="row">

我有datatable,我有使用两个组合框的高级搜索,我的问题是如果我搜索一些数据,但数据不存在,它会显示如下警告DataTables警告:table id=myTable-无效JSON响应。有关此错误的详细信息,请参阅。现在我想改变警告,就像没有工作一样。请帮帮我。我只是个学生,对不起我的英语

这是我在my search.php中的代码

<section>
  <div class="container">
    <div class="row">
      <div class="col-md-12">
        <form id="myForm" class="form-inline">
          <div class="form-group">
            <label>Experience</label>
            <select id="experience" class="form-control" name="exp">
              <option disabled selected>Select Experience</option>
              <?php
              $sql = "SELECT DISTINCT(experience) FROM job_post WHERE experience is not null";
              $result=$conn->query($sql);
              if ($result->num_rows>0) {
                while ($row = $result->fetch_assoc()) {
                  echo "<option value='".$row['experience']."'>".$row['experience']."</option>";
                }
              }
              ?>
            </select>
          </div>
          <div class="form-group">
            <label>Qualification</label>
            <select id="qualification" class="form-control" name="qua">
              <option disabled selected>Qualification</option>
              <?php
              $sql = "SELECT DISTINCT(qualification) FROM job_post WHERE qualification is not null";
              $result=$conn->query($sql);
              if ($result->num_rows>0) {
                while ($row = $result->fetch_assoc()) {
                  echo "<option value='".$row['qualification']."'>".$row['qualification']."</option>";
                }
              }
              ?>
            </select>
          </div>
          <button id="" class="btn btn-success">Search</button>
        </form>
      </div>
    </div>
    <div class="row" style="margin-top: 5%;">
      <div class="table-responsive">
        <table id="myTable" class="table" style="width: 1190px;">
          <thead>
            <th>Job Name</th>
            <th>Job Description</th>
            <th>Minimum Salary</th>
            <th>Maximum Salary</th>
            <th>Experience</th>
            <th>Qualification</th>
          </thead>
          <tbody>

          </tbody>
        </table>
      </div>
    </div>
  </div>
</section>



<script src="js/jquery-3.3.1.min.js"></script>
<script src="//cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>

<script type="text/javascript">
  $(function(){

    var oTable = $('#myTable').DataTable({
      "autoWidth" : false,
      "ajax" : {
          "url" : "refresh_job_search.php",
          "dataSrc": "",
          "data" : function(d){
            d.experience = $("#experience").val();
            d.qualification = $("#qualification").val();
          }
      }
    });

    $("#myForm").on("submit", function(e){
      e.preventDefault();
      oTable.ajax.reload(null, false);
    });



  });
</script>
<?php
session_start();
require_once("db.php");


$sql = "SELECT * FROM job_post";

if (!empty($_GET['experience'])) {
    $sql = $sql." WHERE experience = '$_GET[experience]'";
}

if (!empty($_GET['qualification']) && !empty($_GET['experience'])) {
    $sql = $sql." AND qualification = '$_GET[qualification]'";
}else if(!empty($_GET['qualification'])){
    $sql = $sql." WHERE qualification = '$_GET[qualification]'";
}


$result=$conn->query($sql);
if ($result->num_rows>0) {
  while($row=$result->fetch_assoc()){
    $json[] = array(
        0 => $row['jobtitle'],
        1 => $row['description'],
        2 => $row['minimumsalary'],
        3 => $row['maximumsalary'],
        4 => $row['experience'],
        5 => $row['qualification'],
        );
  }
  echo json_encode($json);
 }
这是我的refresh\u job\u search.php

<section>
  <div class="container">
    <div class="row">
      <div class="col-md-12">
        <form id="myForm" class="form-inline">
          <div class="form-group">
            <label>Experience</label>
            <select id="experience" class="form-control" name="exp">
              <option disabled selected>Select Experience</option>
              <?php
              $sql = "SELECT DISTINCT(experience) FROM job_post WHERE experience is not null";
              $result=$conn->query($sql);
              if ($result->num_rows>0) {
                while ($row = $result->fetch_assoc()) {
                  echo "<option value='".$row['experience']."'>".$row['experience']."</option>";
                }
              }
              ?>
            </select>
          </div>
          <div class="form-group">
            <label>Qualification</label>
            <select id="qualification" class="form-control" name="qua">
              <option disabled selected>Qualification</option>
              <?php
              $sql = "SELECT DISTINCT(qualification) FROM job_post WHERE qualification is not null";
              $result=$conn->query($sql);
              if ($result->num_rows>0) {
                while ($row = $result->fetch_assoc()) {
                  echo "<option value='".$row['qualification']."'>".$row['qualification']."</option>";
                }
              }
              ?>
            </select>
          </div>
          <button id="" class="btn btn-success">Search</button>
        </form>
      </div>
    </div>
    <div class="row" style="margin-top: 5%;">
      <div class="table-responsive">
        <table id="myTable" class="table" style="width: 1190px;">
          <thead>
            <th>Job Name</th>
            <th>Job Description</th>
            <th>Minimum Salary</th>
            <th>Maximum Salary</th>
            <th>Experience</th>
            <th>Qualification</th>
          </thead>
          <tbody>

          </tbody>
        </table>
      </div>
    </div>
  </div>
</section>



<script src="js/jquery-3.3.1.min.js"></script>
<script src="//cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>

<script type="text/javascript">
  $(function(){

    var oTable = $('#myTable').DataTable({
      "autoWidth" : false,
      "ajax" : {
          "url" : "refresh_job_search.php",
          "dataSrc": "",
          "data" : function(d){
            d.experience = $("#experience").val();
            d.qualification = $("#qualification").val();
          }
      }
    });

    $("#myForm").on("submit", function(e){
      e.preventDefault();
      oTable.ajax.reload(null, false);
    });



  });
</script>
<?php
session_start();
require_once("db.php");


$sql = "SELECT * FROM job_post";

if (!empty($_GET['experience'])) {
    $sql = $sql." WHERE experience = '$_GET[experience]'";
}

if (!empty($_GET['qualification']) && !empty($_GET['experience'])) {
    $sql = $sql." AND qualification = '$_GET[qualification]'";
}else if(!empty($_GET['qualification'])){
    $sql = $sql." WHERE qualification = '$_GET[qualification]'";
}


$result=$conn->query($sql);
if ($result->num_rows>0) {
  while($row=$result->fetch_assoc()){
    $json[] = array(
        0 => $row['jobtitle'],
        1 => $row['description'],
        2 => $row['minimumsalary'],
        3 => $row['maximumsalary'],
        4 => $row['experience'],
        5 => $row['qualification'],
        );
  }
  echo json_encode($json);
 }

在初始化数据表之前,您需要先评估数据。数据表已经显示了数据库中的数据。问题是如果我搜索数据库中不存在的数据。它给出了一个警告。我希望更改该警告或显示一些数据不存在的消息更改PHP查询脚本以返回与表列匹配的空json数组(如果结果为0)。在这种情况下,DataTables错误将不会显示。您能告诉我怎么做吗?