2011-02-10 7 views
0

기본적으로 while 루프를 사용하여 데이터베이스에서 일부 비디오 정보를 가져 와서 div에 넣어야합니다. 유일한 문제는 태그 사이에 한 번에 6 개만 넣고 다음 6 개로 이동해야한다는 것입니다. 여기 내 코드는 다음과 같습니다while 루프 내에서 페이지를 매기려면 어떻게해야합니까?

$count = 0; 
$sql = "SELECT * FROM videos ORDER BY id DESC"; 
$result_set = $database->query($sql); 
while($videos = $database->fetch_array($result_set)) { 
$count++; 
    // i know this is horribly wrong... 
if($count == 0 || (($count % 6)+1 == 1)) { 
    echo '<div>'; 
} 
    // i need 6 videos to go in between the <div> and </div> tags then go on to another 6 
    echo "<a href=\"video/{$videos}\">{$videos['title']}</a>"; 


if($count == 0 || (($count % 6)+1 == 1)) { 
    echo '<div>'; 
}   
} 
+0

당신이 DB에서 모든 동영상을로드 하시겠습니까, 클라이언트 측의 페이징을가? 또는 db에서 한 번에 6을로드하고 페이징 서버 측을 수행합니까? –

+0

나는 그 (것)들을 모두 적재하고 클라이언트 측에 페이징을하고 싶다 –

답변

1

이 당신이 원하는 것을 할 수있는 efficent 방법 :

$resultPerPage = 6; 
$count = 0; 
$sql = "SELECT * FROM videos ORDER BY id DESC"; 
$result_set = $database->query($sql); 
$noPage = 1; 

echo '<div id="page_1" class="pages">'; 
while($videos = $database->fetch_array($result_set)) { 
    $count++; 
    echo "<a href=\"video/{$videos}\">{$videos['title']}</a>"; 
    if($count == $resultPerPage) { 
     echo '</div><div id="page_' . $noPage++ . '" class="pages">'; 
     $count=0; 
    }  
} 
echo '</div>'; 
+0

이것은 중대하다! 정말 고마워! –