2011-08-07 3 views
1

나는이 기능을 필요 이상으로 복잡하게 만들고 있으며, 사람들이 내 머리를 정리하는 데 도움이되기를 바랍니다.공백이 포함 된 옵션 값을 전달할 때 문제가 발생했습니다.

내 데이터베이스에는 대부분의 값이 들어있는 열거 형 필드가있는 테이블이 있습니다. 지금은 조합 선택을 사용하려고합니다. 그래서 누군가가 선택 항목 (열거 형의 모든 값을 포함하고 PHP에서 데이터베이스에서 가져온 항목)에서 항목을 선택할 때마다 선택 2 드롭 다운 목록에서 무엇과 관련된 값을 채 웁니다. 선택 1에서 선택되었습니다. 장기 같은

$optionresult = mysql_result(mysql_query('SELECT column_type FROM information_schema.columns 
WHERE table_name = "item" AND column_name = "'.$columnname.'"'),0); 
$values = explode("','",substr($optionresult,6,-2)); 
for($i = 0; $i < count($values); $i++) { 
echo '<option value="'.$values[$i].'">'.$values[$i].'</option>'; 

뭔가 : 내가 열거를 잡기 위해 사용

$(function() { 
$("#semester").change(function() { 
    $("#course").load("tester.php?semester=" + $("#semester").val()); 
}); 
}); 

스크립트 :

내가 선택 두 가지를 채우기 위해 선택 하나 개 값을 잡기 위해 사용하고있는 스크립트입니다 Spring2012와 같은 것은 그렇지 않지만 Spring2012는 통과되고 게시 될 것입니다.

각 옵션 값을 직접 입력하지 않고도 옵션 값의 공백을 제거한 다음 쿼리 할 때 다시 추가 할 필요가없는 방법이 있습니까?

+0

옵션 값에 공백이있을 수 있습니다. 당신의 문제는 다른 곳에서해야합니다. tester.php의 출력을 게시 할 수 있습니까? 또한 두 경우 모두'htmlentities''$ values ​​[$ i]'를 추천합니다. – Halcyon

답변

2

은 쿼리 문자열에 공백을 인코딩 처리됩니다

$("#course").load("tester.php?semester=" + 
    encodeURIComponent($("#semester").val())); 

encodeURIComponent

을보십시오. "First Semester"를 "First % 20Semester"로 변경합니다.

서버가 자동으로 이것을 디코딩합니다.`$ _GET [ "semester"]는 "First Semester"가 될 것입니다;

+0

replace() 메서드를 사용하여 끝났지 만 깨끗하게 들립니다. 감사! – ToryT

관련 문제