게시판 글을 쓰고나면 글쓴이에게 랜덤으로 포인트(5,10,15,20,25점중) 를 주는 게시판스킨이 있습니다.
그리고 받은 포인트는 wr_17에 저장해서 목록페이지 글쓴이 이름옆에 이쁘게 표시하려고 합니다.
지금 그것을 적용할 게시판에는 이미 총 1630개정도 게시물이 있습니다.
물론 그 1630개들 모두 wr_17 값은 물론 필드 자체도 없습니다.
wr_17필드를 만들고 뒤늦게 넣어줘야되는데 일일히 입력해줄수도 없고
귀찮아서 에라잇 랜덤으로 아무거나 넣어놓자 하는 겁니다. 포인트는 뭐 이제와서 줄수도 없구요. 상황은...
mysql insert니 update니 찾아보는데 도통 감이 안오네요.
이럴때 랜덤으로 wr_17 필드에 5개의 값을 나누어 랜덤으로 집어넣어줄 방법은 무엇이 없을까요?
질문이 어렵지 않도록 최대한 잘 풀어서 써봤습니다. 좋은밤 되세요!
|
답변 2개 / 댓글 2개
채택된 답변
+20 포인트
2018-01-03 (수) 21:11:29
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개
devdev
2018-01-03 (수) 23:50:42
UPDATE 테이블명 SET wr_17=(FLOOR(1 + (RAND() * 5))*5);
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.