회원 레벨 시스템을 도입해서
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);
게시글 목록
| 번호 | 제목 |
|---|---|
| 284438 | |
| 284437 | |
| 284435 | |
| 284430 | |
| 284420 | |
| 284417 | |
| 284409 | |
| 284401 | |
| 284399 | |
| 284397 | |
| 284380 | |
| 284378 | |
| 284371 | |
| 284370 | |
| 284366 | |
| 284364 | |
| 284360 | |
| 284357 | |
| 284355 | |
| 284354 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기