글쓰기 페이지

에디터는 Summernote를 사용하였다.

Summernote - Super Simple WYSIWYG editor

 

Summernote - Super Simple WYSIWYG editor

Super Simple WYSIWYG Editor on Bootstrap Summernote is a JavaScript library that helps you create WYSIWYG editors online.

summernote.org

폰트, 사진, 영상을 자유롭게 올린다는 것은 매우 편리하였지만 데이터베이스에 저장할 시 용량이슈 문제에 봉착하였다..

VARCHAR2 는 최대 4000bytes 길이 제한이여서 에디터를 품을 수 없었다. 그래서 최대 4GB를 문자열을 저장해주는 CLOB으로 데이터타입을 변경하게되었다 !! 그러나 CLOB의 INSERT, UPDATE가 매우 까다로웠다ㅜㅜ

부장님이 주신 함수 조금 수정해서 이제 두고두고 쓸 수 있게 된 CLOB type ♡

    public function update_clob($TableName, $ColumnName, $mWhere, $value, $ALinkID = null)
    {
        if (!isset($TableName) || !trim($TableName))
            return 0;
        if (!isset($ColumnName) || !trim($ColumnName))
            return 0;
        if (!isset($mWhere) || !trim($mWhere))
            return 0;

        if ($ALinkID) {
            $LinkID = $ALinkID;
        } else {
            $LinkID = $this->Link_ID;
        }
        if (!is_resource($LinkID)) {
            $LinkID = $this->connect();
        }

        $len = 0;
        $clob_bind_name = "clob_{$ColumnName}";
        if (isset($value)) {
            $len = strlen($value);
        }
        /*
        $stmt = oci_parse($LinkID, "select rowid from $TableName WHERE $mWhere");
        $rowid = oci_new_descriptor($conn, OCI_D_ROWID);
        oci_define_by_name($stmt, "ROWID", $rowid);
        oci_execute($stmt);
        */

        $sql = "UPDATE {$TableName} SET {$ColumnName} = EMPTY_CLOB() WHERE {$mWhere} RETURNING {$ColumnName} INTO :{$clob_bind_name}";
        $stmt = oci_parse($LinkID, $sql);
        $clob = oci_new_descriptor($LinkID, OCI_D_LOB);
        oci_bind_by_name($stmt, ":{$clob_bind_name}", $clob, -1, OCI_B_CLOB);
        oci_execute($stmt, OCI_DEFAULT);
        if ($clob->save($value)) {        
            $clob->free();
            return $LinkID;
        } else {
            echo "실패";
        }
    }

에디터는 넘 편했지만 그걸 활용하기 위한 CLOB type은 어려웠다

결론 : 걍 어렵다는 말

+

에디터 짱 조은 점 : 유튜브 링크만 넣으면 바로 재생 삽가능

'웹 싱니 > 게시판 (21.12 ~ 22.01)' 카테고리의 다른 글

개인정보 수정 페이지  (0) 2022.05.11
게시판 글 페이지  (1) 2022.05.06
게시판 목록 페이지  (0) 2022.04.22
회원가입 페이지  (1) 2022.04.21
로그인 페이지  (1) 2022.04.12

+ Recent posts