2016-12-10 78 views
1

你好,我有2个选择以相同的形式:变化与阵列选择值的值

<form role="form" method="post" action="controlreservas/agregareserva.php" > 
<!--ID RESIDENCIAL-->    
<?php 
include "controlreservas/conexion.php"; 
$sql1= "select id_residencial from residenciales"; 
$query = $con->query($sql1); 
?> 
<label>Residencial</label> 
<select name="id_residencial"> 
<?php if($query->num_rows>0):?> 
<?php while ($r=$query->fetch_array()):?> 
<option value="<?php echo $r["id_residencial"]; ?>"><?php echo $r["id_residencial"]; ?></option> 
<?php endwhile;?> 
<?php else:?> 
<?php endif;?> 
</select> 
</div> 
<!--ID RESIDENCIAL--> 

<!--ID HABTIACION (NUMERO HABITACION)-->     
<?php 
include "controlreservas/conexion.php"; 
$sql1= "select id_residencial,id_habitacion 
from habitaciones 
where id_residencial=".$_POST["id_residencial"]; 
$query = $con->query($sql1); 
?> 
<label>N&deg; Habitaci&oacute;n</label> 
<select name="id_habitacion"> 
<?php if($query->num_rows>0):?> 
<?php while ($r=$query->fetch_array()):?> 
<option value="<?php echo $r["id_habitacion"]; ?>"><?php echo $r["id_habitacion"]; ?></option> 
<?php endwhile;?> 
<?php else:?> 
<?php endif;?> 
</select> 
</div> 
<!--ID HABTIACION (NUMERO HABITACION)--> 
<button type="submit" class="btn btn-default" style="float:left">Ingresar Reserva</button> 
</form> 

首先选择it's工作,第二个选择,我需要采取什么样的值的形式: where id_residencial=".$_POST["id_residencial"];,但我不知道这是怎么回事(我看到更改值的代码,但没有与阵列:/

+0

是'$ _POST [“id_residencial”]'单个id值还是数组? –

+0

我错过了一些东西,你的查询这一个应该产生语法错误'$ sql1 =“select id_residencial,id_habitacion from habitaciones where id_residencial =”。$ _ POST [“id_residencial”];'这是错的,希望我是正确 –

回答

0

您需要一个额外的PHP页面才能使用ajax调用。

<script src="jquery.min.js"></script> // please link the path or use cdn 
<script type="text/javascript"> 
$(document).ready(function(){ 
    $('#id_residencial').on('change',function(){ 
     var id_residencial = $(this).val(); 
     if(id_residencial){ 
      $.ajax({ 
       type:'POST', 
       url:'get_id_habitacion.php', 
       data:'id_residencial='+id_residencial, 
       success:function(html){ 
        $('#id_habitacion').html(html); 
       } 
      }); 
     }else{ 
      $('#state').html('<option value="">Select first</option>'); 

     } 
    }); 

}); 
</script> 
<!--ID RESIDENCIAL-->    
<?php 
include "controlreservas/conexion.php"; 
$sql1= "select id_residencial from residenciales"; 
$query = $con->query($sql1); 
?> 
<label>Residencial</label> 
<select name="id_residencial"> 
<?php if($query->num_rows>0):?> 
<?php while ($r=$query->fetch_array()):?> 
<option value="<?php echo $r["id_residencial"]; ?>"><?php echo $r["id_residencial"]; ?></option> 
<?php endwhile;?> 
<?php else:?> 
<?php endif;?> 
</select> 
</div> 
<!--ID RESIDENCIAL--> 
<!--ID HABTIACION (NUMERO HABITACION)-->     
<select name="id_habitacion"> 
</select> 
</div> 
<!--ID HABTIACION (NUMERO HABITACION)--> 
<button type="submit" class="btn btn-default" style="float:left">Ingresar Reserva</button> 
</form> 

创建一个新的PHP文件说 “get_id_habitacion.php” 与代码

<?php 
$id_residencial=$_POST["id_residencial"]; 
$sql2= "select id_residencial,id_habitacion 
from habitaciones 
where id_residencial='$id_residencial'; 
$query2 = $con->query($sql2); 
?> 
<label>N&deg; Habitaci&oacute;n</label> 
<?php if($query2->num_rows>0):?> 
<?php while ($r2=$query2->fetch_array()):?> 
<option value="<?php echo $r2["id_habitacion"]; ?>"><?php echo $r2["id_habitacion"]; ?></option> 
<?php endwhile;?> 
<?php else:?> 
<?php endif;?> 

注:1)检查数据库(必须正确连接,并有一些数据) 2)检查变量(因为我没有测试并运行代码) 3)如果存在问题,使用“localhost/project_name/get_id_habitacion.php”检查“get_id_habitacion.php”(记住用接触变量替换get_id_habitacion.php的第二行,例如$ id_residencial ='5';) 4)使用适当的链接jquery.min.js或使用其cdn

+0

至少解释给她,你改变什么,我知道你改变,但她没有,这是她的问题,谢谢 –

+0

Tengo este错误:注意:未定义的索引:id_residencial在C:\ EasyPHP-Devserver-16.1 \ eds-www \ vicmar \ reservas \ calendario2.php 21行 –

+0

我把isset:$ id_residencial = isset($ _ POST [“id_residencial”]);和这个错误不显示,但再次第一选择它的好,2do不显示,我想我已经把选择(onchange?)我不知道:/ –