Данные Ajax Live Search не работают, если отправлены две данные - PullRequest
0 голосов
/ 07 мая 2019

У меня есть таблица поиска ajax, которую я посылаю из выпадающего списка.Живая таблица работает, если отправляются отдельные данные.Но если есть две данные, это не сработает.Ниже приведен пример нерабочего ajax.

 $(document).ready(function(){

  load_dataa();

  function load_dataa(query1='',query2='')
  {

   $.ajax({
    url:"viewattendance.php",
    method:"POST",
    data:{query1:query1,query2:query2},
    success:function(data)
    {
     $('#table2 tbody').hide().html(data);
     $('#table2 tbody').hide().fadeIn( 1000);
    }
  })

 };
 $('#year').change(function(){
  $('#hidden_year').val($('#year').val());
  var query1 = $('#hidden_year').val();
  load_dataa(query1);
 });
 $('#month').change(function(){
  $('#hidden_month').val($('#month').val());
  var query2 = $('#hidden_month').val();
  load_dataa(query2);
 });
  });

и PHP-файла

if($_POST["query1"] != '' && $_POST["query2"] != '' )
{

$query1=$_POST["query1"];
$query2=$_POST["query2"];
 $query = "
 SELECT user.user_type,user.user_id,user.first_name,attendance_year,attendance_month,one,two FROM attendance INNER JOIN user ON user.user_id = attendance.student_id
 WHERE   attendance_year IN (".$query1.") AND attendance_month IN (".$query2.")
 ";
}

Проблема в том, что живая таблица не работает, когда я пытался передать две данные.ЕСЛИ я передаю такие данные, как это, это будет работать (работает):

$(document).ready(function(){

  load_dataa();

  function load_dataa(query1='')
  {

   $.ajax({
    url:"viewattendance.php",
    method:"POST",
    data:{query1:query1},
    success:function(data)
    {
     $('#table2 tbody').hide().html(data);
     $('#table2 tbody').hide().fadeIn( 1000);
    }
  })

 };
 $('#year').change(function(){
  $('#hidden_year').val($('#year').val());
  var query1 = $('#hidden_year').val();
  load_dataa(query1);
 });
 $('#month').change(function(){
  $('#hidden_month').val($('#month').val());
  var query2 = $('#hidden_month').val();
  load_dataa(query2);
 });
  });

с одним файлом данных php (работает)

if($_POST["query1"] != '' )
{


$query1=$_POST["query1"];
 $query = "
 SELECT user.user_type,user.user_id,user.first_name,attendance_year,attendance_month,one,two FROM attendance INNER JOIN user ON user.user_id = attendance.student_id
 WHERE   attendance_year IN (".$query1.")
 ";
}

Оцените любую форму помощи.

РЕДАКТИРОВАТЬ : решил, отредактировав часть кода:

 $(document).ready(function(){

  load_dataa();

  function load_dataa(query1,query2)
  {

   $.ajax({
    url:"viewattendance.php",
    method:"POST",
    data:{query1:query1,query2:query2},
    success:function(data)
    {
     $('#table2 tbody').hide().html(data);
     $('#table2 tbody').hide().fadeIn( 1000);
    }
  })

 };
 $('#year').change(function(){
  $('#hidden_year').val($('#year').val());
  var query1 = $('#hidden_year').val();


 $('#month').change(function(){
  $('#hidden_month').val($('#month').val());
  var query2 = $('#hidden_month').val();
  load_dataa(query1,query2);
 });
  });
   });

1 Ответ

1 голос
/ 07 мая 2019

Проверьте ваш код и пошагово извлекайте

  1. сначала проверьте обе ваши переменные (query1, query2), входящие в функцию load_dataa () или нет
  2. теперь проверьте, обе ваши переменные ($ _POST ["query1"], $ _POST ["query2"]) попадают в ваш файл php (viewattendance.php) или нет
  3. если вы получаете обе переменные в php-файле, то распечатываете свой sql-запрос ($ query) и запускаете этот sql-запрос в своей базе данных (если используете localhost, чем http://localhost/phpmyadmin/server_sql.php)

enter image description here

  1. Если SQL-запрос выполняется успешно, чем запускать, проверьте свою успешность: раздел функций (данных) {}.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...