질문드립니다......글등록시 특정필드를 검사하여 높은 항목 5개를 저장시키기

질문드립니다......글등록시 특정필드를 검사하여 높은 항목 5개를 저장시키기

QA

질문드립니다......글등록시 특정필드를 검사하여 높은 항목 5개를 저장시키기

답변 2

본문

아웃로그인(로그인을 하게되면)에 a란 게시판에 자신이 등록한 게시물에서 특정필드중 일치하는 항목값이 높은 순으로 5개를 뽑아오도록 되어잇습니다.
문제는 아웃로그인 이 모든 페이지 상단에 있다보니 이쿼리로인해 다소 사이트 로딩에 영향이 있을것 같기 때문입니다.
그래서 글을 등록할때 위에서 말한 쿼리를 돌려서 차라리 해당 게시물 특정필드에 5개를 넣어두고
로그인을 하면 위에서 말한 쿼리문을 돌리는게 아닌 a란 게시판의 자신이 등록한 게시물에서 특정 필드의 항목만 뽑아서 출력하는건 어덜까해서입니다.
 
쉽게 정리해서 기존 쿼리는
자신이 a게시판에서 글등록시 입력한 필드(28개의 필드)의 일치하는 값중 높은순으로 5개를 뽑아옴.
출력은 아웃로그인의 로그인후페이지(아웃로그인은 사이트 전체상단에 출력됨.)
이걸
자신이 a게시판에 글 등록시 입력한 필드의 일치하는 값중 높은순 5개를 뽑아 wr_1에 5개를 배열하여 같이 업데이트를 시킴
출력은 동일하게 아웃로그인상에 해당 5개가 든 필드의 값을 뽑음.
입니다........
 
그렇게 하면 사이트 전체 페이지 로딩에 조금이나마 도움이 되지않을까해서입니다.
제가 말한 해당 코드는 아래에 올립니다.
outlogin.skin.2.php 입니다.
 
 
if (preg_match("/(\d+)?\/$/", $member[mb_11], $matches))  {//---------------------등록아이디 뽑아옴 시작$mysid = $matches[1];
$mys_table = $g4[write_prefix].'mb2';
$myss = get_write($mys_table, $mysid);

$sort_cols = array('wr_c1', 'wr_r1', 'wr_m1', 'wr_v1', 'wr_v2', 'wr_b1', 'wr_po1', 'wr_ss1', 'wr_hd1', 'wr_mo1', 'wr_sp1', 'wr_so1', 'wr_mo1', 'wr_k1', 'wr_th1', 'wr_f1', 'wr_cer1');    // 통합 순위를 원하는 필드명들을 쭈욱 넣어주세요
$rowsys = "11";
$ignore_keywords = array(싫음, '없음', '안함', '기타'); // 순위 항목에서 무시할 키워드를 넣어주세요. 빈칸은 자동으로 제외됩니다.
$limit_all = 5;  // 최종 상위 몇개를 뽑을지 정하는 값입니다.
$c_row = sql_fetch(" SELECT ".join(", ", $sort_cols)." FROM $mys_table WHERE wr_id = '$mysid' ");
$stat_all = array();
$max_all = 0;
foreach ($sort_cols as $c) {
 if (!$c_row[$c]) continue;
 if (in_array($c_row[$c], $ignore_keywords)) continue; 
 if (!$stat_all[$c_row[$c]]) $stat_all[$c_row[$c]] = 1;
 else $stat_all[$c_row[$c]] ++;
 
 if ($max_all < $stat_all[$c_row[$c]]) $max_all = $stat_all[$c_row[$c]];
}
$total = $rowsys;
arsort($stat_all);
$stat_all = array_slice($stat_all,0,$limit_all);

 foreach ($stat_all as $k=>$v) {
 echo "<div class='aleft' style='margin-left:8px;width:76px;height:92px;'><center><div class='bcenter' style='width:72px;height:84px;background-color:#fff;margin-top:4px;'><img src='".$g4[path]."/img/s_logo/".$k.".png' width='70' height='70' align='absmiddle' style='margin-top:6px;' title='".$k."'></div></center></div>";
}
?>
<? } else { $mysid = -1;    //---------------------------등록아이디 없는경우 시작
echo "<div class='cc bcenter w500 line' style='height:87px;line-height:87px;margin-top:2px;'><img src='".$g4[path]."/img/login-mc.png' align='absmiddle' style='margin:-5px 8px 0 0;'>등록하지 않았습니다...<a href='".$g4[bbs_path]."/write.php?bo_table=mb2'><span class='b fontrr'>[등록하러가기]</span></a></div>";
}//---------------------------등록아이디 뽑아옴 끝
}
 

이 질문에 댓글 쓰기 :

답변 2

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
  • 질문이 없습니다.
전체 0
© SIRSOFT
현재 페이지 제일 처음으로