채택완료

쿼리 질문드립니다~

2016-12-14 (수) 14:39:52 5,836
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 포인트

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개

아...그럼
저렇게 $row 를 3번 인자로 받아도 되는건가요?

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