여분필드 type 변경? 정보
여분필드 type 변경?본문
현재 사이트에서 mb_10에다가 글 갯수를 저장하고 있는데요.
포인트랭킹을 사용하다가 옆에 글 갯수 랭킹을 뽑아보려고 했더니
글 500개와 글 60개 중 60개가 더 높다고 랭킹을 뽑더군요.
제대로 안되서 보니까 type이 varchar로 되어있어서 그런 것 같더라고요.
아마 mb_point처럼 int로 되어있어야 숫자로 인식하나 싶은데요.
어떻게 해야 해당 여분필드 type을 회원 모두 int로 수정할 수 있나요.
그리고 수정해두면 앞으로 가입하는 분들도 해당 값 type 다 int로 되겠죠?
무엇보다 type 수정했다가 기존에 저장된 값이 바뀐다던지 지워진다던지 하면 안되는데요.
혹시 db 수정 없이 랭킹 뽑을 때 바로 해결할 방법은 없을까요?
$sql = "SELECT * FROM {$g4['member_table']} order by mb_10 desc LIMIT 0,10";
원래 이런식으로 쓰고 싶었는데 mb_10 type이 varchar라서 그런건지.....
이 소스 상에서 mb_10을 어디다 숫자로 저장한다던지 하는 과정을 거쳐서라도
mb_10을 숫자로 인식시키고 랭킹을 뽑는 방법도 혹시 있을까요.
포인트랭킹을 사용하다가 옆에 글 갯수 랭킹을 뽑아보려고 했더니
글 500개와 글 60개 중 60개가 더 높다고 랭킹을 뽑더군요.
제대로 안되서 보니까 type이 varchar로 되어있어서 그런 것 같더라고요.
아마 mb_point처럼 int로 되어있어야 숫자로 인식하나 싶은데요.
어떻게 해야 해당 여분필드 type을 회원 모두 int로 수정할 수 있나요.
그리고 수정해두면 앞으로 가입하는 분들도 해당 값 type 다 int로 되겠죠?
무엇보다 type 수정했다가 기존에 저장된 값이 바뀐다던지 지워진다던지 하면 안되는데요.
혹시 db 수정 없이 랭킹 뽑을 때 바로 해결할 방법은 없을까요?
$sql = "SELECT * FROM {$g4['member_table']} order by mb_10 desc LIMIT 0,10";
원래 이런식으로 쓰고 싶었는데 mb_10 type이 varchar라서 그런건지.....
이 소스 상에서 mb_10을 어디다 숫자로 저장한다던지 하는 과정을 거쳐서라도
mb_10을 숫자로 인식시키고 랭킹을 뽑는 방법도 혹시 있을까요.
댓글 전체

편한방법은 wr_10 번의 저장 내용을
60,50,300 이렇게 저장 하지 마시고
00000060
00000050
00000300 이런식으로 저장을 하면은 그런 문제는 없을듯 싶은데요... ^^
60,50,300 이렇게 저장 하지 마시고
00000060
00000050
00000300 이런식으로 저장을 하면은 그런 문제는 없을듯 싶은데요... ^^
어떻게 해야 그렇게 저장할 수 있나요?
현재 write_update.php 파일에서 포인트 부여하는 부분에 아래와 같은 소스를 추가해둔 상태입니다.
sql_query("update $g4[member_table] set mb_10 = mb_10 + 1 where mb_id = '$member[mb_id]'");
현재 write_update.php 파일에서 포인트 부여하는 부분에 아래와 같은 소스를 추가해둔 상태입니다.
sql_query("update $g4[member_table] set mb_10 = mb_10 + 1 where mb_id = '$member[mb_id]'");

SELECT CAST(mb_10 AS UNSIGNED) mb_id, mb_nick, mb_name, mb_point, mb_1, mb_10 FROM $g4[member_table] order by mb_10;

mb_10 정보만 불려오려면 mb_id, mb_nick, mb_name, mb_point, mb_1, mb_10 이부분을 mb_10만 남겨주시고... 더 불러오려면 불러올 필드명을 추가해주세요.]
참고로 위방법은 VARCHAR에서도 작동되는것으로 알고 있습니다. (단 해당 필드에 숫자 데이터만 있을경우)
참고로 위방법은 VARCHAR에서도 작동되는것으로 알고 있습니다. (단 해당 필드에 숫자 데이터만 있을경우)
답변 감사드립니다!
다만 제가 했을 때는 잘 안되네요 ㅠ
다만 제가 했을 때는 잘 안되네요 ㅠ
order by mb_10 *1 하면 될텐데요
잘 됩니다!
아주 간단한 방법이 있었네요, 정말 감사드립니다.
아주 간단한 방법이 있었네요, 정말 감사드립니다.