[SQL] 기록하기

2024. 1. 19. 17:51· New
<?
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
'New' 카테고리의 다른 글
  • [PHP] 함수 참고 자료
  • [PHP] PHP와 JavaScript 의 관계
jeonniu
jeonniu
주니어 개발자의 기록하는 습관 기르기.. 👩🏻‍💻
jeonniu
my records
jeonniu
전체
오늘
어제
  • 분류 전체보기 (43)
    • New (3)
    • Study (23)
    • Algorithm (2)
    • Project (2)
    • Solution (2)
    • CodeStates 45th (11)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기
  • 설정

공지사항

인기 글

태그

  • chat GPT
  • EC2
  • data Binding
  • aggregate
  • UCP
  • Asynchrounous
  • AWS
  • TCP/IP 4계층
  • Spring Data JDBC
  • aggregate root
  • 객체지향프로그래밍
  • multithreading
  • MVC
  • Synchorunous
  • springboot
  • 3 paradigms
  • 가비지 컬렉터
  • mysql
  • Long Polling
  • @Service
  • 스프링부트
  • spring
  • 아키텍처 패턴
  • 컴포넌트 스캔
  • @Repository
  • JPA
  • Java
  • in-memory db
  • 프로그래밍 패러다임
  • 백엔드

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.0
jeonniu
[SQL] 기록하기
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.