2013-04-18 12 views
-1

저는 현재 온라인 쇼핑 웹 사이트를 개발 중입니다. 불행히도 데이터베이스에서 이미지를 표시하는 문제로 인해 차단되었습니다.페이지별로 이미지를 표시하는 방법은 무엇입니까?

달성하고자하는 결과는 데이터베이스에서 이미지를 검색하여 다른 페이지에 표시하는 것입니다. 예를 들어 데이터베이스에 12 개의 이미지가 있고 한 페이지에 6 개의 이미지를 표시하고 싶습니다. 그리고 사용자가 다음 페이지 (2 페이지)를 클릭하면 나머지 6 개의 이미지가 표시됩니다. 나는 여러 날 동안 이것에 붙어 있었다. 어느 누구도이 문제를 해결할 수 있습니까? 최고의 소원.

+1

[매김 (http://net.tutsplus.com/tutorials/php/how-to-paginate-data- with-php /) – PHearst

+0

코드를 보지 않고는 효율적으로 도울 수 없습니다. – Jocelyn

+0

시도해 봤어? –

답변

0

당신은 열 페이지에 대한 이미지의 집합에 오프셋하고, 다음과 같이 데이터베이스에 쿼리를 사용하여 계산해해야

SELECT * from Image LIMIT $offset, $limit

1

(Image 데이터베이스 테이블에 저장되어있는 가정 이미지 메타 데이터) 이

<?php 
if(isset($_Get['page'])) 
{$page = $_Get['page'];} 
else 
{$page = 1; } 
$firstimage = $page * 6 - 6; 
$lastimage = $page * 6; 
$sql = 'SELECT * from image LIMIT $firstimage, $lastimage'; 
?> 

을 시도하고를 botom

<a href="yourpage.php?page='<?php echo $page + 1; ?> '">Next page</a> 
,536에 링크를 추가
+1

고마워요! 너는 최고야! 나를 위해 일한다! – user2295136

+0

다음 vadidate! – Melki

0

이것은 복잡한 작업이 아니므로 페이지 매김을 사용할 수 있습니다. 이 논리에 따라 :

각 페이지에게 번호를 부여하고 쿼리 문자열에서 해당 번호를 가져오고 다음

LIMIT $startFrom, $totalCount; 
로 제한이

$page = $_GET['page']; 
if ($_GET['page'] == "1") { 
{ 
    $startFrom = 0; 
    $totalCount = 6; 
} else { 
    $startFrom = 6*$_GET['page']; 
    $totalCount = 6; 
} 

사용처럼 SQL 쿼리에이 두 변수를 제한 사용

0

당신이하려는 것은 pagination입니다. 다행스럽게도 그렇게 어려운 것은 아니며 그러한 스크립트를 작성하기 위해 웹에 많은 자습서가 있습니다.

매김의 일반적인 개념은 특정 부터 그룹의 데이터베이스에서 데이터를 선택하는 것 오프셋 만 특정 길이를 가고, 또는 제한하고 있다는 점이다. 여기에서

Select * from yourTable LIMIT $yourOffset, $yourLimit

, 당신이 가장 좋아 단순히 현재 offsetlimit 일 무슨 스크립트를 말할 것이다 next 또는 previous 버튼을해야 할 것입니다.

예는 다음과 같을 수 있습니다

$limit = ''; 
$offset = ''; 


if (isset($_POST['submit'])) { 
{ 
    $limit = $_POST['limit']; 
    $offset = $_POST['offset']; 

    // Run query here 
} 
0
$page = $_GET['page_no']; 
$count = $page*6; 
$sql = "select images from table limit $count-6,$count"; 
0

는 당신이 필요로하는 것은 제한입니다 :

<form action="" method="POST"> 
    <input type="hidden" name="offset" value="10"/> 
    <input type="hidden" name="limit" value="20"/> // The amount to be returned per page 
    <input type="submit" value="next page" name="submit" /> 
</form> 

그런 다음, PHP 당신이 단순히 limitoffset 값을 검색 할 것 오프셋 SQL 코드에서.PHP 사용

:

SQL에서
$limit = 15; 
$offset = ($page - 1) * $limit; 

The limit is the amount of values you want to be shown. 
The $page variable you need to get because of the page you are on. You will need 
to write some code to keep your page value in order to know what page you are on. 
If you are on page 3 you want the 6 images for that page. 

If you have that you pass your $limit and offset to your sql function. 

:

$sql = 'select * from images ORDER BY x LIMIT ' . $limit . ' OFFSET ' . $offset; 
+0

감사합니다! 이것도 시도하는 좋은 방법입니다. 모든 시간을 감사하십시오 !! – user2295136

관련 문제