2014-04-25 5 views
-1
$sql = " SELECT team FROM user_pokemon_db WHERE user_id = '".$id."' "; 
$res = mysql_query($sql); 
while($rows = mysql_fetch_assoc($res)) 
{ 
    $assgn_team = $rows['team']; 
    if($assgn_team > 6) 
    { 
     //code 
    } 

    else 
    { 
     //code 
    } 
} 

내 '팀'열이 정수로 구성되어 선택하지 않으면 : 내 경우 0,1,2,3,4,5,6 을 열 '팀은'숫자로 구성되어있는 경우 6, if 블록을 실행하고 싶습니다. 하지만 if 조건을 확인하지 않고 직접 else 블록으로 건너 뜁니다.조건이

나는 확신, 문제는 어딘가에 여기에 있습니다 :

while($rows = mysql_fetch_assoc($res)) 
{ 
    $assgn_team = $rows['team']; 
} 

위의 논리 권리인가? 그 목적은 '팀'열의 모든 기록을 확인하는 것입니다.

+0

, 당신은 사용해야합니다'> =' – Rob

+0

가 == 6' 대신'$의 assgn_team의'$의 assgn_team을 고려> 6' – nazim

답변

1

값 문자열을 int로 변환해야합니다. 유형 캐스팅을 사용하면 더 많은 문자열을 비교할 수 있습니다. 이 시도 :

$assgn_team = (int)$rows['team']; 
if($assgn_team > 6) 
{ 
    //code 
} 

EDIT 또는 사용 :

$assgn_team = (int)$rows['team']; 
if($assgn_team == 6) 
{ 
    //code 
} 
+0

는 사실 .. 내가 배열의 모든 값을 저장할! 그리고 IF()를 사용하여 배열에 '6'이 있는지 찾아보십시오 ...! 어떻게해야합니까 – user3545779

+0

$ assgn_team> 6 대신 make $ assgn_team === 6. 내 대답도 업데이트했습니다. –

1

가 확인을하면 조건

경우 ($의 assgn_team> = 6) { ... }

이 6이 포함 된 경우
$sql = " SELECT team FROM user_pokemon_db WHERE user_id = '".$id."' "; 
$res = mysql_query($sql); 
$assgn_team = $rows['team']; 
if($assgn_team >= 6) { 
    //code 
} else { 
    //code 
}