2010-12-23 12 views
0

데이터베이스에서 데이터를 가져 와서 보여주는 손을주세요.데이터베이스에서 데이터 가져 오기

내가 배우고 이것은 :(

발전 나를 들고 내가 가진 :

$result = mysql_query($sql); 
    $num_reg = mysql_num_rows($result); 
    echo $num_reg; // this shows 3 

    while($row = mysql_fetch_assoc($result)) 
     { 

     foreach($row as $value) 
     { 


    //Now I need to operate with the rows values. 

echo $row['PHONE']; 

그러나이 대신 전화 번호를 인쇄하는, 그들에게 5 회

을 인쇄 무엇 내가 잘못하고 있니?

고마워요

답변

3

에 대해 한 번 호출 while 루프의 $ ($ row)와 foreach 루프의 print_r ($ value). 그런 다음 왜 $ row 요소의 루프에 $ row를 표시합니까?

1

이 경우 foreach는 필요하지 않습니다

while($row = mysql_fetch_assoc($result)) 
{ 
    echo $row['PHONE']; 
} 

아마 당신의 $row 2 개 요소를 가지고 있으며, foreach 내부에 echo $row['PHONE'] 인 print_r을 foreach 루프

while($row = mysql_fetch_assoc($result)) 
{ 
echo $row['PHONE']; 
echo $row['NAME']; 
echo $row['OTHER_FIELD']; 
} 
1

값을 처리하기 위해 while() 루프 내에서 두 번째 foreach() 루프가 필요하지 않습니다. 여기서 뭘하는지는 행을 반복하면서 값을 반복하지만 $ 행 변수를 통해 값에 이미 액세스 한 경우 다시 반복 할 필요가 없습니다. 사실 5 번 전화 번호를 받으면 테이블에 5 개의 열이 있다는 의미입니다.

예 - foreach는() 루프 제거 :

while($row = mysql_fetch_assoc($result)){ 
    echo $row['PHONE']; 
    echo $row['NAME']; 
    echo "<br />"; 
} 

난 당신이 "이름"라는 변수가 있지만 단지 하나를 교체하지 않을 경우 당신이해야합니까 같은데요합니다. 마지막 에코는 읽기 쉽도록 새로운 행을 인쇄합니다.

+0

모두에게 고마워, 이제 나는 갈 수있어! – user523129

관련 문제