我刚接触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;
}
有水平表:
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;
这是我确实遇到的问题的图像:
当我必须选择医生时,它应该加载他/她拥有的可用时间表。
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的表格内容:
Emppleado的表内容:
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;
}