2016-12-10 73 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?)我不知道:/ –