2012-04-16 4 views
0

나는이 질문을 이전에했지만 너무 복잡하다고 생각했는데 목록의 값이 선택되면 쿼리를 할당하려고합니다. 에 그런drop 문 목록을 지정하는 문 PHP

<select name="fuel"> 
    <option value="petrol">Petrol</option> 
    <option value="diesel">Diesel</option> 
</select> 

: 사용자가 선택한 태그에 이름을 실행에게 다음 쿼리

$query = mysql_query("SELECT fuel_type from car WHERE fuel_type = 'petrol'"); 
+0

그래서 이전 선택에 따라'options'을 사용하여 다른'select'를 갖고 싶습니까? –

+0

예. 차를 '선택 * 자동차에서'표시하는 자동차 목록이 있습니다. 사용자가 메뉴를 사용하여 이러한 결과를 필터링 할 수있게하려는 경우 –

+0

페이지를 새로 고치지 않고 모두 수행 할 수 있습니까? –

답변

2
<form id="filter" name="filter" method="post" action=""> 
<select id="college" name="fuel" onchange="changeValue();"> 
    <option value="petrol">Petrol</option> 
    <option value="diesel">Diesel</option> 
</select> 
<p><input name="filter" type="button" value="Filter" /></p> 
</form> 

처럼 사용을 제출 형태로 값을 게시 할 경우 양식을 제출하지 않을 경우

, 당신은 나 또한 제안

<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
function changeValue() { 
    var ctext = $("#college option:selected").val(); 
    $.ajax({ url: "yourfile.php", 
    data: {"ctext":ctext}, 
    type: 'post', 
    success: function(output) { 
     //display output here 
     } 
    }); 
} 

yourfile.php

<?php 
//connect to db 
$ctext = $_POST['ctext']; 
$list = mysql_query("SELECT fuel_type from car WHERE fuel_type ='$ctext'"); 
$row = mysql_fetch_array($list); 
echo $row['fuel_type']; 
?> 
0

가솔린 선택하면

drop down menu

<form id="filter" name="filter" method="post" action=""> 
<select> 
    <option value="petrol">Petrol</option> 
    <option value="diesel">Diesel</option> 
</select> 
<p><input name="filter" type="button" value="Filter" /></p> 
</form> 
은 무엇 내가 달성하고자하는 것은 귀하의 PHP는 같은 간단한 일을 할 수 :

<?php 
if(isset($_POST['cmdFilter'])) 
{ 
    echo "You selected the fuel type: " . $_POST['fuel']; 
} 
?> 

또한 대신 ID를 가지고 입력을 소독해야합니다

PS

$("#myIdforSelect").val()

하여 선택함으로써 그것에게 값을 전달 아약스 요청을 보낼 JQuery와 사용 선택을 설정할 수 있습니다 ;)

+3

[Little Bobby Tables] (http://xkcd.com/327/) –

+0

롤, 바로 궤도에 그를 도울려고. 어린이를위한 자료 : 모든 입력을 위생 처리해야합니다! – Menztrual

0

있지만 JS 코드 ... onchange를 이벤트에 jQuery를 사용할 수 있습니다 AJAX 메서드를 사용하여이 작업을 수행하는 데 AJAX를 사용하지 않아도된다는 것을 분명히하고 싶습니다.

필터 옵션이 너무 복잡하거나 많지 않으면로드 할 때 필터 트리의 모든 수준에 대해 사용 가능한 모든 옵션을 가져 와서 처음에 숨길 수 있습니다. 그런 다음 사용자가 각 섹션을 드릴 다운하면 그에 따라 다음 섹션이 표시됩니다 (javscript를 통해). 결국 GET 또는 POST를 통해 선택한 모든 양식 필드가있는 일반 양식을 제출할 수 있습니다.

효과적으로 또한 서버 :

에 덜 호출을 실행하여 대역폭을 절약 할 수 있습니다하지만 당신의 선택 트리가 너무 복잡해진다 경우, 그냥 사용자 상호 작용에 AJAX 요청을 실행하는 것이 좋습니다 수 있습니다.