테스트 사이트 - 개발 중인 베타 버전입니다

랜덤으로 값 만들때 어떤방법이 좋을까요? 채택완료

망이망소이 7년 전 조회 1,791

게시판 글을 쓰고나면 글쓴이에게 랜덤으로 포인트(5,10,15,20,25점중) 를 주는 게시판스킨이 있습니다.

그리고 받은 포인트는 wr_17에 저장해서 목록페이지 글쓴이 이름옆에 이쁘게 표시하려고 합니다.

지금 그것을 적용할 게시판에는 이미 총 1630개정도 게시물이 있습니다.

물론 그 1630개들 모두 wr_17 값은 물론 필드 자체도 없습니다. 

 

 

wr_17필드를 만들고 뒤늦게 넣어줘야되는데 일일히 입력해줄수도 없고

귀찮아서 에라잇 랜덤으로 아무거나 넣어놓자 하는 겁니다. 포인트는 뭐 이제와서 줄수도 없구요. 상황은... 

mysql insert니 update니 찾아보는데 도통 감이 안오네요.

 

이럴때 랜덤으로 wr_17 필드에 5개의 값을 나누어 랜덤으로 집어넣어줄 방법은 무엇이 없을까요?

 

질문이 어렵지 않도록 최대한 잘 풀어서 써봤습니다. 좋은밤 되세요!

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
베원
7년 전

wr_17은 게시판 별로 안 되는 경우 직접 만들어주시고,

 

랜덤 적용은

</p>

<p><?php

// ※ common include 必

$table_name = 'g5_write_(???)';</p>

<p>$list = sql_fetch("SELECT wr_id FROM {$table_name} WHERE `wr_17` = NULL or `wr_17` = ''");

foreach($list as $value) {

    $rand = rand(1, 5) * 5;

    sql_query("UPDATE {$table_name} SET `wr_17` = '{$rand}' WHERE `wr_id` = '" . $value['wr_id'] . "'");

}</p>

<p>

이런식으로 하면 될 것 같네요.

 

테스트를 안 해본 코드라 오타가 있을 수 있습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

망이망소이
7년 전
감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

d
7년 전

UPDATE 테이블명 SET wr_17=(FLOOR(1 + (RAND() * 5))*5);

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

망이망소이
7년 전
감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인