채택완료

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

2018-01-03 (수) 20:38:20 1,933

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

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

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

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

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

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

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

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

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

|

답변 2개 / 댓글 2개

채택된 답변
+20 포인트

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

랜덤 적용은

Copy
<?php
// ※ common include 必
$table_name = 'g5_write_(???)';

$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'] . "'");
}

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

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

답변에 대한 댓글 1개

2018-01-04 (목) 17:17:20
감사합니다.

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

답변에 대한 댓글 1개

2018-01-04 (목) 17:17:30
감사합니다.

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