Динамическая комбинация AJAX не работает, как я могу решить эту проблему? - PullRequest
1 голос
/ 12 ноября 2019

Я новичок в создании AJAX, веб-страница, которую я пытаюсь сделать, - это динамические комбинированные списки, предполагается выбрать врача из базы данных, а затем в следующем комбинированном списке должны появиться расписания.

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

Код:

    function getHorarios(){
   $mysqli = getConn();
   $id = $_POST['rut'];
   $query = "SELECT rutemple FROM empleado WHERE rutemple = (SELECT hora FROM horario WHERE rut = '$id')";
  $result = $mysqli->query($query);
  $horarios = '<option value="0">Elige una opción</option>';
  while($row = $result->fetch_array(MYSQLI_ASSOC)){
    $horarios .= "<option value='$row[id]'>$row[hora]</option>";
  }
  return $horarios;
}

Вот таблица horario:

CREATE TABLE `horario` (
  `id` int(11) NOT NULL,
  `hora` varchar(30) NOT NULL,
  `rut` varchar(12) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

и таблица empleado:

CREATE TABLE `empleado` (
  `rutemple` varchar(12) NOT NULL,
  `nombre` varchar(25) DEFAULT NULL,
  `apellido` varchar(25) DEFAULT NULL,
  `fnac` date DEFAULT NULL,
  `direccion` varchar(25) DEFAULT NULL,
  `ciudad` varchar(25) DEFAULT NULL,
  `telefono` decimal(9,0) DEFAULT NULL,
  `cargo` int(11) DEFAULT NULL,
  `especialidad` int(10) DEFAULT NULL,
  `clave` varchar(25) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

И вот изображение проблемы, которое у меня есть:

Problem

enter image description here

Когда мне нужно выбрать врача, он должен загрузить доступные графики, которые он / она имеет.

AJAX код:

$(document).ready(function(){
  $.ajax({
    type: 'POST',
    url: 'php/cargar_doct.php'
  })
  .done(function(doctors){
    $('#doctores').html(doctors)
  })
  .fail(function(){
    alert('Hubo un errror al cargar las doctores')
  })

  $('#doctores').on('change', function(){
    var id = $('#doctores').val()
    $.ajax({
      type: 'POST',
      url: 'php/cargar_horas.php',
      data: {'id': id}
    })
    .done(function(doctors){
      $('#horitas').html(doctors)
    })
    .fail(function(){
      alert('Hubo un errror al cargar las horas')
    })
  })
})

Содержание таблицы Horario:

enter image description here

Содержание таблицы Empleado:

enter image description here

function getDocts(){
  $mysqli = getConn();
  $query = "SELECT nombre, apellido FROM empleado WHERE especialidad = '3' ORDER BY rutemple";
  $result = $mysqli->query($query);
  $listas = '<option value="0">Elige una opción</option>';
  while($row = $result->fetch_array(MYSQLI_ASSOC)){
    $listas .= "<option value='$row[rutemple]'>$row[nombre] $row[apellido]</option>";
  }
  return $listas;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...