Copy
<? if (!defined('_GNUBOARD_')) exit; function best_mb_group($skin_dir="", $rows=10, $best_mb_sort) { global $g5; $nowYmd = date("Y-m-d H:i:s"); # 오늘시간을 구합니다. $time = time(); $startYmd = date("Y-m-d H:i:s",strtotime($day."-7day")); if ($skin_dir) { $latest_skin_path = G5_SKIN_PATH.'/latest/'.$skin_dir; } else { $latest_skin_path = G5_SKIN_PATH.'/latest/'.$skin_dir; } $list = array(); $sql = " SELECT bo_table FROM {$g5['board_table']}"; $ress = sql_query($sql); for($i=0, $ii = 0; $board=sql_fetch_array($ress); $ii++){ $tmp_write_table = $g5['write_prefix'] . $board['bo_table']; # 게시판 테이블 전체이름 $query = "SELECT * FROM (SELECT wr_name, COUNT(*) AS Cnt FROM $tmp_write_table WHERE wr_name != '최고관리자' AND wr_datetime BETWEEN '$startYmd' AND '$nowYmd' GROUP BY wr_name) AS tmpCnt ORDER BY tmpCnt.Cnt DESC LIMIT 10;"; $result = sql_query($query); for($i = 0; $row = sql_fetch_array($result); $i++){ $list[$i] = get_list($row, $row, $row); } } ob_start(); include "$latest_skin_path/latest_mb.skin.php"; $content = ob_get_contents(); ob_end_clean(); return $content;} ?>
주간 베스트 회원을 나름대로 구현해봤는데요 (izen님 스킨 베이스입니다)
head first 책으로 php 공부하면서 해봤는데
잘된건지 모르겠네요;;
결과는 제 뜻대로 나오긴 하는데...안에서는 이상하게 돌아가는것 같아서요 ㅋㅋ
Copy
for($i = 0; $row = sql_fetch_array($result); $i++){ $list[$i] = get_list($row, $row, $row);}
위의 코드에서 $list[$i] = get_list($row, $row, $row);
이 코드가..제가 써놨지만 ㅋ 이해가 안되는부분인데요..
설명 부탁드려도 될까요?;
왜 $row 하나쓰면 argument 가 없다고 오류가 나는건지 모르겠네요;
common.lib.php 333번 줄을 참조하는것 같습니다만..
답변 1개 / 댓글 1개
채택된 답변
+20 포인트
Feelz996
2016-12-14 (수) 14:45:12
function get_list($write_row, $board, $skin_url, $subject_len=40)
get_list 함수는 위와 같이 $write_row, $board, $skin_url, $subject_len 총 4개의 인자를 받습니다.
하지만 $subject_len=40이라고 선언이 돼 있기 때문에 4번째 인자가 없을경우 자동을 40을 입력하기
때문에 필수로 필요한 인자는 총 3개
$write_row, $board, $skin_url이 필요합니다.
그래서 위에서 $row를 하나만 썼을경우 argument가 없다고 에러가 뜨는거에요.
답변에 대한 댓글 1개
lacomparte
2016-12-14 (수) 14:49:55
답변을 작성하려면 로그인이 필요합니다.
저렇게 $row 를 3번 인자로 받아도 되는건가요?