2010-12-20 2 views
1

mysql 테이블의 결과를 모두 가져 오는 방법을 알고, 첫 번째 X (예 : 10) 만 표시 한 다음 jquery를 사용하여 나머지를 숨기는 방법을 알고 있습니까? 한 페이지에 첫 번째 X 결과 만 표시 한 다음 나머지는 href를 사용하여 별도의 페이지에 표시하는 방법을 알아야합니다.PHP/MySQL은 첫 번째 X 결과를 표시하고, 나머지는 숨기기

나의 목표는 처음 10 개의 결과 만 표시하는 것입니다. 그러나 페이지 하단에 링크를 제공하여 사용자가 모든 결과를 표시 할 수있게하십시오. 하이퍼 링크가 쿼리를 다시 실행할 수 있다고 생각했지만 jquery를 사용하여 표시/숨기기가 더 쉽다고 생각했습니다. 감사합니다.

답변

2

jquery를 사용하는 대신 원하는 결과 만 검색 할 수 있습니다.

SELECT * FROM TableName LIMIT 10 

이렇게하면 처음 10 개의 결과가 나타납니다. 당신이 PHP를 사용하는 경우 그런 다음, 다음 다음 페이지의 10

SELECT * FROM TableName LIMIT 10 OFFSET 10 

다음 페이지

SELECT * FROM TableName LIMIT 10 OFFSET 20 

을 표시하려면, 당신은 어떤 페이지에 따라 올바른 결과를 표시하도록 쿼리를 구축 할 수 있습니다 당신은 위에있다 :

// $currentPage is set elsewhere in the script, and is zero-based. 
$resultsPerPage = 10; 

$currentOffset = $resultsInPage * $currentPage; 
$query = "SELECT * FROM TableName LIMIT $resultsInPage OFFSET $currentOffset"; 
+1

이 내가 너무 때 사용하는 방법이다. MySQL에서 반환 된 큰 데이터 세트를 가지고 있다면, 페이지 매김 플러그인에 대한 성능 문제를 발견하게 될 것입니다. 일반적으로 필요한 레코드 그룹 만 리턴하는 것이 더 나은 해결책입니다. – jbnunn

0

그것은 "쉽게"될 수 있지만, 모든로드 효율적인 훨씬 적은 자원이다 설명하는 방식으로 데이터를 표시합니다 (그리고 선택적으로 표시 할 수도 있음).

당신이 논의하고있는 접근 방식을 사용하는 것보다는 여러 개의 쿼리 (아마도 Ajax/lazy 로딩을 통해)를 사용하는 것이 좋습니다.

0

SQL 쿼리의 SELECT 문에 LIMIT 문을 사용하면됩니다. 대부분의 경우 클라이언트에 모든 데이터를 보내고 표시하지 않으려는 데이터를 javascript로 숨길 필요가 없습니다.

관련 문제