회원 레벨 시스템을 도입해서
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등에 출력됩니다.
무엇이 문제일까요 ㅜㅜ
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개
// 한번만 넣어서 호출 후 주석 또는 삭제 -- 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);
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);
게시글 목록
| 번호 | 제목 |
|---|---|
| 284508 | |
| 284499 | |
| 284492 | |
| 284490 | |
| 284484 | |
| 284481 | |
| 284478 | |
| 284476 | |
| 284474 | |
| 284472 | |
| 284470 | |
| 284458 | |
| 284457 | |
| 284454 | |
| 284453 | |
| 284447 | |
| 284446 | |
| 284444 | |
| 284441 | |
| 284440 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기