8.14. 글목록 API 만들기

목록 페이지에서 더보기 버튼을 누르면 글을 더 가지고 오는 API를 만든다.

<?php
header('Content-Type: application/json');

// 로그인 체크
session_start();
if (isset($_SESSION['member_id']) === false){
    echo json_encode(array('result' => false));
    exit();
}

// 파라미터 체크
$last_post_id = isset($_POST['last_post_id']) ? $_POST['last_post_id'] : null;
if ($last_post_id == null){
    echo json_encode(array('result' => false));
    exit();
}

// DB Require
require_once("inc/db.php");

$member_id = $_SESSION['member_id'];
$post_query = "select post_id, post_content from tbl_post where member_id = :member_id and post_id < :post_id order by insert_date desc limit 10";
$post_data = db_select($post_query, array("member_id"=> $member_id, "post_id" => $last_post_id));

echo json_encode(
    array(
        'result' => true,
        'post_data' => $post_data
    )
);

위 코드를 list.api.php 파일로 저장한다.


로그인, 파라미터 검증 후에 글 목록 데이터를 데이터베이스 테이블 tbl_post에서 가지고 온다.

$member_id = $_SESSION['member_id'];
$post_query = "select post_id, post_content from tbl_post where member_id = :member_id and post_id < :post_id order by insert_date desc limit 10";
$post_data = db_select($post_query, array("member_id"=> $member_id, "post_id" => $last_post_id));

조건은 현재 로그인한 사용자의 글, 그리고 마지막 메모 ID보다 PK가 작은 경우다.

where member_id = :member_id and post_id < :post_id

데이터 정렬은 입력의 역순으로 한다.

order by insert_date desc

총 10개까지만 데이터를 가지고 온다.

Copylimit 10