변경

2016-12-10 1 views
1

안녕하세요 저도 같은 형태의 선택이이 값 :변경

<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> 

먼저 선택 키우면 작업을, 두 번째 내가 어떻게 형태로 값을 필요로 선택 ​​ where id_residencial=".$_POST["id_residencial"];,하지만 난 어떻게 해야할지 모르겠다. (변경 값에서 코드를 볼 수 있지만 배열에는 그렇지 않다./)

+0

'$ _POST [ "id_residencial"]'는 단일 id 값 또는 배열입니까? –

+0

나는 어떤 것이 누락되었는데, 당신의 쿼리는'$ sql1 = "구문 오류를 생성해야한다. id_residencial, id_habitacion을 선택한다. from habitaciones id_residencial =". $ _ POST [ "id_residencial"]; 그것을 올바르게 얻으십시오 –

답변

0

아약스 호출을 사용하려면 추가 PHP 페이지가 하나 필요하다.

<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 error : 알기 쉬운 인덱스 : id_residencial in C : \ EasyPHP-Devserver-16.1 \ eds-www \ vicmar \ reservas \ calendario2.php on line –

+0

나는 isset를 넣습니다 : $ id_residencial = isset ($ _ POST [ "id_residencial"]); 이 오류는 표시되지 않지만 다시 첫 번째 선택은 ok이고 2do는 표시되지 않습니다. select (onchange?)에 뭔가 넣었을 것 같습니다 :/ –