2013-06-16 8 views
1

저는 PHP에 대해 비교적 익숙하며 좀 더 잘 이해하기 위해 watchlists에 영화를 추가하고 다가오는 영화를 볼 수있는 작은 응용 프로그램을 만들고 있습니다 ...while 루프 내에서 PHP for 루프

지금 나는 최고 등급에서 낮은 등급 순으로 사용자가 추가 한 모든 영화를 나열하는 최고 등급 목록을 작성하려고합니다.

내가 지금 가지고있는 구문은 다음과 같습니다

<?php 
      while($avr = mysql_fetch_array($rating)) { 
      for ($i=1; $i<5; $i++){ ?> 
      <li class="movie"><?php echo $i . ' - ' . $avr['title'] . '<div class="movie_rating">' . $avr['vote_avr'] . '</div>'; ?></li> 
<?php } } ?> 

"$ 내가 < 5;" for-loop에서 테스트하기 위해 현재 하드 코드되어 있습니다. 이것은 변수로 바뀝니다.

내가 가진 문제는 각 "$ avr [ 'title']"에 대해 1에서 4까지 계산된다는 것입니다. 따라서 각 영화 제목을 내 페이지에 4 번 인쇄합니다. 첫 번째 영화 제목을 "1", 두 번째 "2"등으로 바꾸기를 원합니다.

for 루프 외부에 for-loop를 배치하면 각 동영상이 "1"이됩니다.

내 질문은 어떻게 while 루프 내에서 for 루프를 통합 할 수 있습니까? 각 while 루프 값에 대해 한 번만 계산됩니까?

미리 감사드립니다.

답변

4

for 루프가 필요하지 않습니다.

$i = 0; 
while($avr = mysql_fetch_array($rating)) { 
?> 
    <li class="movie"><?php echo ++$i . ' - ' . $avr['title'] . '<div class="movie_rating">' . $avr['vote_avr'] . '</div>'; ?></li> 
<?php 
    // Increment & Insert ---------^ 
} 
+0

그 작업 후 break the loop 덕분에 else clause를 추가 할 수 있습니다! – Jrn

1

당신은 루프에 대한 필요가 없습니다 당신은 (내가 여기 $i 이름) 당신이 while 루프를 입력 할 때마다 증가 카운터 변수가 필요합니다.

<?php 
     $i=1; 
     while($avr = mysql_fetch_array($rating)) {    
     <li class="movie"><?php echo $i . ' - ' . $avr['title'] . '<div class="movie_rating">' . $avr['vote_avr'] . '</div>'; ?></li> 
<?php $i++; 
    } ?> 
+0

+1 나를 돕기 위해, 나는 그의 해결책이 더 짧기 때문에 bwoebi의 대답을 받아 들였다. 하지만 내 질문에 대답 할 시간을내어 주셔서 감사합니다. – Jrn

+0

@Quarius 문제 없어요. 환영합니다. – DevZer0

1
<?php 
$i = 1; 
      while($avr = mysql_fetch_array($rating)) { 
       if($i < 5) { 
?> 
       <li class="movie"><?php echo $i . ' - ' . $avr['title'] . '<div class="movie_rating">' . $avr['vote_avr'] . '</div>'; ?></li> 
<?php   $i++; } } ?> 

또한 당신은 도움을, 원하는 iterations

+0

+1 나를 돕기 위해, 나는 해결책이 더 짧기 때문에 bwoebi의 대답을 받아 들였습니다. 하지만 내 질문에 대답 할 시간을내어 주셔서 감사합니다. – Jrn