2011-07-01 7 views
2

모든 주제가 저장되는 'topics'라는 테이블이 있습니다. 해당 테이블에서 최근 5 행을 선택하여 한 페이지에 표시하고 다른 다섯 페이지를 최신 페이지로 선택하여 다른 페이지에 표시하려고합니다.MySQL 테이블에서 특정 행을 선택하는 방법은 무엇입니까?

나는 while 루프에서 모든 주제 이름을 에코하는 법을 알고 있지만 여기에서 문제는 mysql이 5 행을 선택하고 다른 5는 다른 페이지를 선택하는 것이고 동일한 문제는 다시는 아닙니다. 이것을 달성하는 방법?

LIMIT 5, 5 
+2

['LIMIT' (http://dev.mysql.com/doc/refman/5.1/en/select.html#id973384) '와 함께 ORDER BY'가 무엇 있다는. – hakre

+0

ORDER BY를 사용하여 최신 날짜를 표시합니다 (날짜순 정렬). 그러나 mysql_fetch_assoc은 데이터 포인터를 더 이동 시켜서 한 페이지에서 각각의 모든 행을 선택합니다. 5 개의 최신 항목을 선택하고 mysql_fetch_assoc을 사용하여 표시 한 다음 다른 5 개를 선택하여 다른 페이지에 표시합니다. – Mantas

+0

현재 수행중인 작업을 보여줄 수있는 코드를 추가 할 수 있습니다. 예 : 쿼리를 작성하고 실행하는 부분과 결과를 가져 오는 부분. – hakre

답변

4
SELECT 
* 
FROM tablename 
ORDER BY id DESC 
LIMIT 0, 5 

SELECT * FROM your_table ORDER BY any_order_criteria LIMIT 5,5 
+0

고마워, 대단한데. 난 방금 SQL에서 LIMIT 태그에 대한 연구를했다. 실제로 그것이 그렇게 간단하다는 것을 몰랐습니다! 나는 전체 코드를 다시 작성해야하는 것을 두려워했지만, 내가 누락 된 부분이 있다는 것을 알았습니다. – Mantas

0
$start = 0; 
$count= 5; 
$query = "select * 
    from topics 
    order by date desc 
    limit $start, $count" 
0

첫째 5 :

SELECT * FROM your_table ORDER BY any_order_criteria LIMIT 0,5 

둘째 5 : 다른 페이지에

0

내가 뭘 귀하의 페이지에서 페이지 매김을 사용하고 싶다는 것이 문제입니다.

PHP와 MySQL을 사용하여 페이지 매김에 관한 멋진 기사입니다.

http://www.tonymarston.net/php-mysql/pagination.html

+0

예,하지만 이미 달성하려는 결과에 가까워서 따라오고 싶지 않습니다. 그 튜토리얼을 처음부터. 이것은 단지 작은 문제 일뿐입니다. 포인터를 5 줄 (앞당겨) 이동하십시오. – Mantas

+0

예, @ Ēriks Daliba가 질문에 대답했다고 생각합니다. 나는 그와 동의한다 –

+0

방금 ​​테스트 해본 결과, 한계가 작동합니다. 유용한 답변을 주셔서 감사합니다. – Mantas

관련 문제