2011-02-17 4 views
0

나는 PHP를 처음 사용하므로이 질문이나 문제가 혼란 스러울 경우 용서하십시오. 성 베드로 또는 JHS라는 드롭 다운 옵션이있는 검색 양식을 만들려고합니다. 사용자는 교수 이름을 입력 한 다음 교수가 가르치는 학교 인 을 선택합니다. 내가이 프로그램을 실행할 때 양식PHP 검색 양식

<form name=form action="form.php" method="GET"> 
<input type="text" name="find" /> 
<select name="school[]" > 
<option value="">School</option> 
<option value="1">St.Peter</option> 
<option value="2">JHS</option> 
</select> 
<input type="submit" name="Submit" value="Search" /> 
</form> 

아래 내가 사용하고있는 form.php 스크립트를 가지고있다가

<?php 
$q=$_GET["find"]; 
$s=$_GET["school"]; 
$con = mysql_connect('localhost', 'peter', 'abc123'); 

if($q && ($s==St.Peter)) 
echo "that professor belongs to St.peter H.S"; 
else{echo "that professor does not belong to this school"; } 
elseif($q && ($s==JHS)) 
echo "that professor belongs to JHS H.S"; 
else{echo "that professor does not belong to this school"; } 
?> 

입니다, 내가 얻을 출력됩니다. 그 교수는 St.peter H.S에 속해 있습니다. 그 교수는 JHS에 속해 있습니다.

첫 번째 if 문이 정확한지 확인하기 위해 스크립트를 변경하면 예.

<?php 
$q=$_GET["find"]; 
$s=$_GET["school"]; 
$con = mysql_connect('localhost', 'peter', 'abc123'); 

if($q && ($s==St.Peter)) 
echo "that professor belongs to St.peter H.S"; 
else{echo "that professor does not belong to this school"; } 

?> 

이 교수는 성 베드로 H.S에 속하는 것을 메아리하지만

if($q && ($s==St.Peter)) 

if($q && ($s==St.P)) 

로 변경 한 경우는 같은 일을 메아리. 이 교수는 St.peter H.S에 속한 교수 인 것을 에코합니다.

+1

깨끗한 들여 쓰기를 사용하십시오! 이것이 프로그래밍에 대해 배우는 첫 번째 규칙입니다. – powtac

답변

0

실제로 전송되는 것은 텍스트가 아닌 옵션의 '값'이기 때문입니다. 당신은 "1"또는 "2"

if ($q && $s == 1) 
+0

if ($ 1 && $ s == 1) 이 꺼져 있으면 좋아하지 않아야합니다. ($ q && $ s == '1') 감사합니다. – user621799

+0

고마워요, – helloandre

1
if($q && ($s==St.Peter)) 

이것은 구문 상 올바르지 않습니다./다른 블록이 잘못된 경우 PHP, 당신은뿐만 아니라

if($q && ($s == 'St.Peter')) 

을해야하는 정의가 아닌 상수 문자열로 큰를 '성 베드로'을 볼 수 있습니다. 당신은

입니다. 이것은 구문 오류입니다. else은 if() 시리즈에서 "모두 실패한 경우"최종본입니다. 당신은 다른 사람과 그것을 따라갈 수 없습니다. 블록은

이어야합니다.
if (...) { 
} else if (...) { 
} else if (...) } 
} else { 
} 
1

SELECT OPTION의 값과 비교해야합니다. 시도해보십시오 :

if($q && ($s=='1')) 
0

마크 B. + 전염성

<select name="school[]" > 

이 배열로 GET [ '학교'] 매개 변수를 만들 수있는 PHP 지시를 찾고해야합니다. 여러 개의 체크 박스 등에 유용합니다. 함께 가야합니다

<select name="school" > 
+0

감사합니다. – user621799