G

쿼리 질문좀 드립니다

회원 레벨 시스템을 도입해서
member 테이블에서 mb_10 필드에 회원 레벨의 경험치를 저장하고 있습니다.
경험치이니 단위가 1부터~몇만까지 입니다.
이것을 경험치가 높은 순서대로 순위를 10명 출력하려고합니다.

<? $sql = "SELECT mb_10, mb_id, mb_nick FROM {$g4['member_table']} where mb_id <> 'admin' order by mb_10 desc LIMIT 0,10";
$result = sql_query($sql);
?>

<?
for ($i=1; $row=sql_fetch_array($result); $i++) {

if ($i<= 3) $cla=' class="best"';
else $cla="";

?>

이렇게 주었습니다. 위소스는 포인트순위 소스를 응용했습니다.
그런데 9를 제일높은 숫자로 인식하는지 무조건 9가 많이들어간 경험치가 순위에 높게 나타납니다.

99 경험치
972 경험치 가 있으면
99를 더높은 경험치로 인식하고 순위 1등에 출력됩니다.
무엇이 문제일까요 ㅜㅜ
|

댓글 6개

for ($i=1; $row=sql_fetch_array($result); $i++) 에서 $i 가 0 부터 시작해야 하지 않나요?
0부터했는데 현재 11레벨이 1등이여야되거든요
근데 9레벨이 1등이구 11레벨은 아에 10순위에 없습니당 ㅜㅜ
물론 11레벨의 경험치가 더높은데요 ㅜㅜ
// 한번만 넣어서 호출 후 주석 또는 삭제 -- mb_10 은 varchar 형으로 INT형으로 바꿔줘야합니다.
sql_query(" ALTER TABLE {$g4['member_table']} CHANGE `mb_10` `mb_10` INT( 11 ) NOT NULL ");
// --

$sql = "SELECT mb_10, mb_id, mb_nick FROM {$g4['member_table']} where mb_id <> 'admin' order by mb_10 desc LIMIT 0,10";
$result = sql_query($sql);
답변감사합니다 int형으로 바꾸어주었는데요 길이/값이 11이거나 255거나 아무거나 해주어도 상관이없나요 ?
다른점이있나요?
LIMIT 0,10 에서 10을 더 높은 값으로 줘야 하지 않을까요?
10은 순위를 뽑는 단위에요 ~
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
12년 전 조회 2,347
12년 전 조회 5,018
12년 전 조회 2,418
12년 전 조회 2,715
12년 전 조회 3,244
12년 전 조회 2,795
12년 전 조회 2,352
12년 전 조회 2,902
12년 전 조회 2,484
12년 전 조회 3,302
12년 전 조회 3,573
12년 전 조회 3,463
12년 전 조회 2,850
12년 전 조회 3,237
12년 전 조회 2,665
12년 전 조회 3,068
12년 전 조회 3,065
12년 전 조회 2,364
12년 전 조회 3,034
12년 전 조회 2,616