2012-06-16 2 views
0

인터넷을 통해 검색했지만 PHP로 초보자이기 때문에 일부 문제가 해결되었습니다. 레벨 및 포인트별로 게임 서버 캐릭터를 주문하는 스크립트가 있습니다. 레벨 별 주문은 쉬웠습니다.두 번째 테이블에서 결과를 정렬하기 위해 두 번째 PHP SQL 쿼리 추가하기

데이터베이스는 다음과 같습니다 Level 필드가 포함 cDtb
테이블 이름은 Character입니다.

지금은 Points 필드 다음에 주문할 동일한 스크립트에서 두 번째 쿼리를 사용하고 테이블 이름은 Reward입니다. 첫 번째 쿼리와 같이 두 번째 쿼리를 추가하려고했지만 결과가 표시되지 않습니다.

최종 결과가 말하는 수준

다음

을 값을 감소하고 두 테이블 CharacterReward에서 결과를 사용하여 포인트에서 시작을 기준으로 정렬해야 ... 사용자 이름 Test1을하고 TES2은 동일한 수준 (100)을 가지고 있지만, Test1 파일은 30Points있어 및 Test2 35이 경우 점수는 Test2, Test1이됩니다.

두 번째 쿼리를 추가하는 방법과 점과 레벨로 둘 모두를 주문하는 방법을 알려줄 수 있습니까? 이 도움이

select TOP 15 * from cDtb.dbo.Character order by Level desc, Points desc; 

희망 : 사전에

감사합니다, 아래의 스크립트

<tr> 
    <td><div align="center">Level</div></td> 
    <td><div align="center">Points</div></td> 
    </tr> 

    <tr>      

    <? 
    $query=mssql_query("select TOP 15 * from cDtb.dbo.Character order by Level desc"); 
//---------- second query ??? -------------- 
    while($row=mssql_fetch_assoc($query)){ 
    $levelz=$row['Level']; 
    $pointz=$row['Points']; 


    ?> 


    <td style="color: rgb(196, 37, 0); font-weight: bold;"> 
    <div align="center"> 
    <td><?=$levelz;?></td> 
    <td><?=$pointz;?></td> 
    </div></td> 

    </tr> 

답변

0
당신은 다음과 같이 설정 한 것과 같은 결과에서 두 번째 필드로 주문할 수 있습니다

입니다!

+0

포인트가 문자 내부 보상이 아닌 다른 테이블 내부에 있기 때문에 작동하지 않습니다. 그래서 그것은 포인트 선택에 의해 cDtb.dbo.Reward 순서에서 TOP 15 *를 선택해야합니다; 하지만이 두 번째 쿼리를 추가하면 포인트로 정렬 된 순위 만 표시되고 레벨은 표시되지 않습니다 – Xander

+0

외래 키를 사용하여이 두 테이블을 함께 연결할 수 있습니까? 당신이 할 수 있다면, 당신은 더블 ORDER BY를 사용할 수있을 것입니다. – Marc

+0

아니요. 제가이 스크립트에서 두 번째 쿼리를 포함해야하는 이유가 무엇인지 알지 못합니다. – Xander

관련 문제