2013-07-25 5 views
0

while 루프에서 모든 행을 반환하는 데 문제가 있습니다. print_r ($ item)로 검사 할 때 모든 행을 반환하지만 사용자가 while 루프로 돌아 왔을 때 첫 번째 행만 리턴합니다. 나는 그것이 처음으로 루프를 돌려주기 때문이라고 생각한다.PHP : Whileloop이 모든 행을 반환합니다.

그래서 내가 어떻게 여기 루프는 클래스 메소드 내에있는 동안 나는

while($item = db_assoc($query)){ 

    return '<p>'.$item['title'].'</p>'; 
} 

을 시도하고있는 무슨이다 .. 모든 행을 반환 할 수 있습니다 나는 에코 사용할 수 있도록 값을 반환해야

고마워 ....

+0

은 읽어 보시기 바랍니다 [수동]을 (http://php.net/return는)'함수 내에서 호출하면 return 문이 바로 현재 함수의 실행을 종료하고, 값으로 인수를 반환 함수 호출의. 전역 범위에서 호출되면 현재 스크립트 파일의 실행이 종료됩니다. ' – HamZa

+0

그래, 사실이 whileloop은 클래스 메서드 내에있다 .. 그래서 정확히 내가 원하는 것은 그 메소드에 대한 html을 포함한 최종 결과를 반환하는 것이다. –

+0

심각하게? 그렇다면 왜 변수를 선언하고 제목을 추가하지 않으시겠습니까? – HamZa

답변

1

, 당신은 첫 번째 행 이후에 반환하고 있습니다. 다음보십시오 :

$output = ''; 

while ($item = db_assoc($query)) { 
    $output .= "<p>{$item['title']}</p>"; 
} 

return $output; 
+0

아! 멋진 ... 작품 환상 ... –

+0

그냥 한 질문 .. 빈 변수를 추가해야합니까?'$ output = ''' –

+0

@pixelngrain 그것은 똑똑한 질문이 아닙니다. – HamZa

0

Return은 단순히 루프에서 벗어나 첫 번째 행만 인쇄하는 이유입니다. 모든 것을 반환하려면 문자열에 저장하고 while 루프 후에는 해당 문자열을 반환하십시오.

+0

예 .. 어떻게 모든 행을 반환 할 수 있습니까? print_r은 모든 행을 반환합니다 .. –

+0

다음과 같이 할 수 있습니다. $ arr = null; while ($ item = db_assoc ($ query)) { $ arr. = $ item [ 'title']. "\ n"; } print_r ($ arr); – Nareg

0

return 문으로 인해 루프 실행이 중단됩니다. 당신은 단순히 foreach 루프를 사용할 수

while($item = db_assoc($query)){ 

    $titles[] = '<p>'.$item['title'].'</p>'; 
} 

을 그리고 제목에 액세스 할 수 :

대신이 시도 말처럼

foreach($titles as $title){  
echo "<p> $title </p";  
} 
1

시도를 새로운 배열을 만들거나 당신은 동안 루프

그리고 그것을 반환 안에 원하는에 대한 형식을 만들기 ..

"반환"가 실행 루프를 중지합니다.

while ($item = db_assoc($query)) { 
    $output .= "<p>{$item['title']}</p>"; 
} 

return $output; 
1

당신은 당신이 루프에서 수익을 쓸 때 처음 값 로 돌아 때문입니다 만 인 print_r에 모든 기록을 보여줍니다

while($item = mysql_fetch_array($runsql)){ 
      $data[]=$item['first_name']; 
     } 
     return $data; 

사용해야합니다. 그래서 우리는 필요한 필드의 배열을 생성하고 리턴해야만합니다.

Hope it will help you. 

이것을 시도하십시오.

while($item = mysql_fetch_array($runsql)){ 
     $data.=$item['first_name']."<br/>"; 
    } 
    return $data; 
+0

하지만이 경우에는 다시 모든 루프를 사용하여 HTML을 렌더링해야합니다. 맞습니까? 그것은 나에게 배열 출력을 줄 것이다 .. ?? –

+0

예. 그럼 당신은 모든 값을 연결 문자열을 생성하고 그 문자열을 반환 .. –

+0

하지만이 방법으로 직접 출력을위한 html을 찾고 있는데 ... –

관련 문제