2011-01-09 3 views
0

나를 괴롭히는 어떤 코드가있어 도움을 받기를 간절히 원합니다!숫자 4를 말하고있을 때 반복되는 PHP 4 회

$x=0; 
while($row = mysql_fetch_array($result)) 
{ 
    if ($me == $x) 
    { 
    echo "You are $me"; 
    break; 
    } 
    else 
    { 
    $x++; 
    } 
} 

내가 휴식을 포함 할 때; 그것은 반환 : 나는 휴식을 제거 할 때

당신은, 그러나 1

선택; 그것은 당신이 당신이 선택한 1 선택한 하나를 선택

반환 당신이 데이터베이스에 6 개 기록이 현재와 코드가 있다면 그것을 작동하려면 1

을 선택한 1 "You are 4th"가 표시됩니다

아이디어가 있으십니까?

답변

3

$x++;else에서만 실행됩니다.

$x=0; 
while($row = mysql_fetch_array($result)) 
{ 
    if ($me == $x) 
    { 
    echo "You are $me"; 
    break; 
    } 

    $x++; 
} 

그냥 보조 노트 :이 에있는 모든 반복을 증가해야하기 위해 당신은 else을 제거해야 $row 여기 $me$x 관련이있을 것 같지 않습니다. 루프에 생략 된 다른 코드가 포함되어 있다고 가정하겠습니다. 그러나 이것만으로도 아마도 귀하의 질문에 대한 답변을 얻을 수 있습니다.

+1

의'$ X ++를 제거 조건 ('if ($ me == $ x ++)'). 이것은'$ me == $ x'를'$ x'를 증가시키기 전에 비교하고 단지 그것을하는 더 진보 된 방법 일뿐입니다. – BoltClock

+0

나는 보통 당신과 동의 할 것입니다. 그러나이 문제의 상대적인 단순성을 고려해 볼 때, 나는 질문자가 좀 더 진보 된 기술을 익힐 수있는 간단한 개념을 고수 할 것을 제안합니다. – diagonalbatman

+0

@Andy Paton : 나는 누군가가 그것을 말할 것임을 알았으므로 대신 코멘트에 남겨 두었습니다 :) – BoltClock

0

다른 사람이 $ x를 icrementing하면 실행되지 않습니다.

에코와 동일한 부분에서 증분을 수행해야합니다. 당신이 반향없이 $에 X를 증가 할 필요가 없습니다 경우

$x=0; 
while($row = mysql_fetch_array($result)) 
{ 
    if ($me == $x) 
    { 
    echo "You are $me"; 
    $x++; 

    } 
    else 
    { 
    $x++; 
    } 
} 

을 또는 :

그러니, 아예 '문 및 내 후행 증가를 대안으로

$x=0; 
while($row = mysql_fetch_array($result)) 
{ 
    if ($me == $x) 
    { 
    echo "You are $me"; 
    x++; 
    } 
}