2012-11-01 3 views
0

세 개의 필드를 검사하는 mysql 쿼리가 있습니다. 그 중 하나가 1이면 내가 따르는 텍스트를 표시하고 싶습니다. 내가 겪고있는 문제는 변수가 처음 설정되었을 때만 보여주고 다른 라인은 출력하지 않는다는 것입니다. 내 코드 PHP while 루프가 mysql을 변수에 추가하지 않는 경우

while ($row =mysql_fetch_array($cust_check)){ 
    if ($row['emailmatch'] == "1"){ 
     $output_error = 'Your email is in our database<br />'; 
    } 
    if ($row['phonematch'] == "1"){ 
     $output_error .= 'Your phone number is in our database<br />'; 
    } 
    if ($row['addressmatch'] == "1"){ 
     $output_error .= 'Your address is in our database<br />'; 
    } 
} 

그럼 난 그냥 모두 1의 값 누군가가 도와 드릴 것을 보여 $ output_error을 원하는입니까? 감사합니다

+2

'mysql_로 *를 사용하여 피를'당신이 –

+0

변경 emailmatch도 추가 할 수 있다면, $ output_error phonematch 1에 해당하는 경우 무슨 일이 addressmatch 1에 해당, 어떻게, 그리고 마지막으로 emailmatch 1과 같다? $ output_error에는 emailmatch에 대한 하나의 오류 메시지 만 포함됩니까? –

+0

사실, SQL 문을 변경하여 1과 동일한 문만을 선택하고, if 문을 여러 개 사용하는 대신 모든 문을 표시하는 것이 어떻습니까? –

답변

4

이메일이 일치하면 $ output_error 변수가 재설정됩니다.

$output_error = ''; 
while ($row =db_fetch_array($cust_check)){ 
    if ($row['emailmatch'] == "1"){ 
     $output_error .= 'Your email is in our database<br />'; 
    } 
    if ($row['phonematch'] == "1"){ 
     $output_error .= 'Your phone number is in our database<br />'; 
    } 
    if ($row['addressmatch'] == "1"){ 
     $output_error .= 'Your address is in our database<br />'; 
    } 
} 
+0

고마워요! 효과가있는 – Trey

관련 문제