2014-02-28 6 views
1

많은 데이터가 포함 된 SQL 테이블이 있으며 웹 페이지에 표시해야합니다. 당신은 그것을 here 찾을 수 있습니다. 99,999 점에 도달 mysql 테이블을 날짜순으로 표시합니다.

  • 사람들은 가장 오래된에서 표시해야 가장 낮은 VR (이 게임의 온라인 지점을 나타내는 번호)로 가장 높은에서

    1. : 방식에 의해 데이터가이 방법으로 표시되어야합니다 최신 날짜로. 여기 예로서 사진을 볼 수 있습니다 :

    enter image description here

    목록 (최소 포인트 사람들에게 최대 포인트 (99,999)을 가진 사람에서 이동하기 때문에 지점 (1)을 만족하기 때문에 내 코드가 잘 작동 50,000). 나는 또 다른 문제가있다.

    날짜를보고 99,999 점으로 사람을 정렬해야합니다. 사실, 제가 포인트 2에서 링크 된 그림을 보면, 오른쪽의 테이블은 99,999 개의 레코드가 시간순으로 정렬되어 있지만 왼쪽의 테이블은 그렇지 않습니다.

    <?php 
    $a=mysqli_connect("localhost","username","password","my_mk7vrlist"); 
    
    $res= mysqli_query($a,"SELECT * FROM 0_vrs_europe ORDER BY `vrs` DESC, `date` DESC LIMIT 0 , 150"); 
    
    while($row = mysqli_fetch_array($res)) 
        { 
        //here I print the rows of my html table 
        } 
    
    mysqli_close($a); 
    ?> 
    

    내가 cronologically 분류되지 않은 왼쪽에있는 테이블에 대해 작성한 코드입니다. 특히 나는 이것에 대해 생각 :

    ORDER BY `vrs` DESC, `date` DESC 
    

    를이 코드로, 아래의 표는 올바른 cronological 순서로 정렬되지 않은 99,999 VR로 VRS하지만 사람들과 함께 따라 점점 줄어드는 순서로 표시됩니다. 당신이 나를 도울 수?

    날짜가있는 열은 내 테이블에 varchar입니다.

  • +0

    날짜 열은 어떤 열 유형입니까? varchar처럼 보입니다 –

    +0

    예, varchar입니다 –

    +0

    그래서 날짜를 지정하십시오! – Strawberry

    답변

    1

    날짜를 어떻게 저장하고 있습니까? 문자열처럼 저장하면 order_by desc가 작동하지 않습니다. 값을 타임 스탬프로 저장하거나 쿼리를 수행 할 때 값을 변환해야합니다.

    참조 : 필드 이름이 날짜라고 가정 http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

    :에 지정자 섹션을 선택 고려하여 문자열 형식을 참조하기 위해 mySQL convert varchar to date

    . MySQL은 문자열로 취급 등으로 정렬되도록

    %D Day of the month with English suffix (0th, 1st, 2nd, 3rd, …) 
    %M Month name (January..December) 
    %Y Year, numeric, four digits 
    
    +0

    올바른 방법으로 작동하지 않습니다 ... –

    +0

    예 죄송합니다, 내 대답을 변경했습니다. – Dynelight

    1

    귀하의 날짜 열이 유형 VARCHAR입니다 : 내가 준 링크에서

    select date_format(str_to_date(date, '%D %M %Y'), '%D %M %Y'); 
    

    . 날짜순으로 정렬하려면 열 유형을 DATE 또는 DATETIME으로 변경해야합니다.

    +0

    사용중인 형식으로 작동합니까? 예 : '2013 년 10 월 7 일' –

    +0

    아니요, 2013-10-07 형식으로 저장해야합니다. MySQL 또는 PHP 함수를 사용하여 출력을 다시 포맷 할 수 있습니다. –

    +0

    실제로 그럴 수도 있습니다. http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html의 지정자 섹션을 참조하십시오. – Dynelight

    관련 문제