<?
function getDbData($table, $where, $data, $con = '')
{
global $DB_CONNECT_SLAVE;
$con = $con ? $con : $DB_CONNECT_SLAVE;
$row = db_fetch_array(getDbSelect($table, getSqlFilter($where), $data, $con));
return $row;
}
?>
...
<div class="review_area">
<h2 class="review_tit">실시간 수강후기 <span class="loader"></span></h2>
<div class="bxslider-default review_roll" data-mode="horizontal" data-auto="false" data-controls="true" data-pager="false" data-delay="2000" style="height:240px">
<?
// subject 테이블에서, site_id가 7이고, del_yn이 N이며, use_yn이 Y인 idx를 가지고 와보자.
// sql문 : select idx from subject where site_id = 7 AND del_yn = 'N' AND use_yn = 'Y';
$subject_idxs = getDbData($table['subject'], "site_id = 7 AND del_yn = 'N' AND use_yn = 'Y' AND g_id =" . $g_id, "idx");
// 성공적으로 가지고 왔으면 조건에 맞는 idx 값을 $subject_idxs에 담아준다.
if ($subject_idxs) {
$subject_idxs = $subject_idxs['idx'];
} else {
// 그렇지 않다면, 다음과 같이 셋팅
$subject_idxs = '89,91,93';
}
// 전역변수 선언
global $_HS;
// 그냥 .. subject 의 전체 컬럼에 관한 변수화
$_data = 'c.*';
// cont 와 subject 의 조건에 일치하는 데이터를 추출할 것임
// JOIN 절 : 일단 .. cont는 별칭을 c로 두고, gnh_subject를 별칭을 gs로 두고, 두 테이블에서 gs.idx와 c.subject_idxs를 조인한다.
// WHERE 절 : 검색 조건을 설정한다.
// - c.subject_idxs가 위에서 선별한 idxs 값 중 하나와 일치하는 레코드를 선택한다.
// - c.site_code가 주어진 값과 일치하는 레코드를 선택한다.
// - c.cont_type = '8', c.use_yn = 'Y', c.del_yn = 'N' 이렇게 모두 일치하는 레코드를 선택한다.
// ORDER BY 절 : 결과는 order_no 기준으로 오름차순 정렬(ASC), 쿼리는 주어진 조건에 따라 cont 테이블과 subject 테이블을 조인하고, 조건에 만족하는 레코드들을 정렬해서 선택하는 것을 목적으로 한다.
$_table = $table['cont'] . " AS c
JOIN " . $table['subject'] . " AS gs
ON gs.idx = c.subject_idxs
WHERE c.subject_idxs IN (" . $subject_idxs . ")
AND c.site_code = '" . $_HS['uid'] . "'
AND c.cont_type = '8'
AND c.use_yn = 'Y'
AND c.del_yn = 'N'";
$bestReviewList = getDbItems($_table, '', $_data, "ord_no", "ASC", "", "", "");
// 결과 : cont 테이블의 모든 열을 포함해, 조건에 따라 필터링 되고 오름차순 (ASC) 정렬 된 형태로 반환된다.
// SQL 문 :
// select c.*
// from cont as c
// join subject as gs on gs.idx = c.subject_idxs
// where c.subject_idxs in (89, 91, 93, 95, 97, 99, 101)
// AND c.cont_type = '8'
// AND c.use_yn = 'Y'
// AND c.del_yn = 'N'
// ORDER BY ord_no ASC;
?>
<ul class="bxslider">
<? if (count($bestReviewList) > 0) { ?>
<?
foreach ($bestReviewList as $key => $review) { ?>
<li>
<a href="<?= stripslashes($review['cont_url']) ?>" target="_blank">
<strong><?= $review['cont_title'] ?></strong>
<textarea><?= strip_tags($review['content']) ?></textarea>
<span>합격생 <?= $review['writer'] ?></span>
</a>
</li>
<? } ?>
<? } ?>
</ul>
</div>
</div>
...
화이팅 ...........
'New' 카테고리의 다른 글
[PHP] 함수 참고 자료 (0) | 2024.01.19 |
---|---|
[PHP] PHP와 JavaScript 의 관계 (0) | 2024.01.19 |