윤혜원

내툰리스트 추가하기,삭제하기 성공!

......@@ -2,11 +2,12 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="ffe1a490-8fdb-4611-8537-4d1c03c40b8d" name="Default" comment="">
<change beforePath="$PROJECT_DIR$/.idea/vcs.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app.js" beforeDir="false" afterPath="$PROJECT_DIR$/app.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/routes/index.js" beforeDir="false" afterPath="$PROJECT_DIR$/routes/index.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/routes/mytoons.js" beforeDir="false" afterPath="$PROJECT_DIR$/routes/mytoons.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/routes/setting.js" beforeDir="false" afterPath="$PROJECT_DIR$/routes/setting.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/routes/toonviewer.js" beforeDir="false" afterPath="$PROJECT_DIR$/routes/toonviewer.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/views/mytoons.ejs" beforeDir="false" afterPath="$PROJECT_DIR$/views/mytoons.ejs" afterDir="false" />
</list>
<ignored path="$PROJECT_DIR$/out/" />
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
......@@ -108,29 +109,34 @@
<session id="-66201460">
<usages-collector id="statistics.lifecycle.project">
<counts>
<entry key="project.closed" value="1" />
<entry key="project.closed" value="2" />
<entry key="project.open.time.10" value="1" />
<entry key="project.opened" value="1" />
<entry key="project.open.time.13" value="1" />
<entry key="project.opened" value="2" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.extensions.open">
<counts>
<entry key="ejs" value="4" />
<entry key="js" value="2" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.types.open">
<counts>
<entry key="EJS" value="4" />
<entry key="JavaScript" value="2" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.extensions.edit">
<counts>
<entry key="js" value="868" />
<entry key="ejs" value="358" />
<entry key="js" value="1290" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.types.edit">
<counts>
<entry key="JavaScript" value="868" />
<entry key="EJS" value="358" />
<entry key="JavaScript" value="1290" />
</counts>
</usages-collector>
</session>
......@@ -140,8 +146,8 @@
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/routes/mytoons.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="141">
<caret line="54" column="36" selection-start-line="54" selection-start-column="36" selection-end-line="54" selection-end-column="36" />
<state relative-caret-position="171">
<caret line="9" column="27" lean-forward="true" selection-start-line="9" selection-start-column="27" selection-end-line="9" selection-end-column="27" />
</state>
</provider>
</entry>
......@@ -149,8 +155,8 @@
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/routes/toonviewer.js">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret lean-forward="true" />
<state relative-caret-position="133">
<caret line="7" column="23" lean-forward="true" selection-start-line="7" selection-start-column="23" selection-end-line="7" selection-end-column="23" />
</state>
</provider>
</entry>
......@@ -158,26 +164,53 @@
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/routes/setting.js">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret lean-forward="true" />
<state relative-caret-position="312">
<caret line="53" column="14" lean-forward="true" selection-start-line="53" selection-start-column="14" selection-end-line="53" selection-end-column="14" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/routes/index.js">
<entry file="file://$PROJECT_DIR$/views/setting.ejs">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="65">
<caret line="29" column="22" lean-forward="true" selection-start-line="29" selection-start-column="22" selection-end-line="29" selection-end-column="22" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/views/toonviewer.ejs">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="583">
<caret line="336" lean-forward="true" selection-start-line="336" selection-end-line="336" />
<state relative-caret-position="152">
<caret line="8" column="21" lean-forward="true" selection-start-line="8" selection-start-column="21" selection-end-line="8" selection-end-column="21" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app.js">
<entry file="file://$PROJECT_DIR$/views/mytoons.ejs">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="397">
<caret line="32" lean-forward="true" selection-start-line="32" selection-end-line="32" />
<state relative-caret-position="19">
<caret line="25" column="12" lean-forward="true" selection-start-line="25" selection-start-column="12" selection-end-line="25" selection-end-column="12" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/views/index.ejs">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="141">
<caret line="99" column="14" lean-forward="true" selection-start-line="99" selection-start-column="14" selection-end-line="99" selection-end-column="14" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/routes/index.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="152">
<caret line="8" lean-forward="true" selection-start-line="8" selection-end-line="8" />
</state>
</provider>
</entry>
......@@ -194,7 +227,6 @@
</component>
<component name="FindInProjectRecents">
<findStrings>
<find>authen</find>
<find>connection.</find>
<find>connection.end</find>
<find>connection.connect()</find>
......@@ -224,6 +256,7 @@
<find>de</find>
<find>로그인</find>
<find>console.log(</find>
<find>des</find>
</findStrings>
<dirStrings>
<dir>$PROJECT_DIR$/views</dir>
......@@ -261,16 +294,16 @@
<option value="$PROJECT_DIR$/views/toonviewer.html" />
<option value="$PROJECT_DIR$/views/toonviewer.ejs" />
<option value="$PROJECT_DIR$/node_modules/phantomjs/lib/phantom/examples/module.js" />
<option value="$PROJECT_DIR$/routes/setting.js" />
<option value="$PROJECT_DIR$/routes/toonviewer.js" />
<option value="$PROJECT_DIR$/views/mytoons.ejs" />
<option value="$PROJECT_DIR$/views/daum" />
<option value="$PROJECT_DIR$/views/daum.ejs" />
<option value="$PROJECT_DIR$/views/index.ejs" />
<option value="$PROJECT_DIR$/routes/daum.js" />
<option value="$PROJECT_DIR$/app.js" />
<option value="$PROJECT_DIR$/routes/mytoons.js" />
<option value="$PROJECT_DIR$/routes/index.js" />
<option value="$PROJECT_DIR$/routes/mytoons.js" />
<option value="$PROJECT_DIR$/routes/toonviewer.js" />
<option value="$PROJECT_DIR$/routes/setting.js" />
<option value="$PROJECT_DIR$/views/mytoons.ejs" />
</list>
</option>
</component>
......@@ -301,7 +334,6 @@
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="Scope" />
<pane id="ProjectPane">
<subPane>
<expand>
......@@ -328,6 +360,7 @@
<select />
</subPane>
</pane>
<pane id="Scope" />
<pane id="AndroidView" />
<pane id="PackagesPane" />
</panes>
......@@ -487,6 +520,7 @@
<workItem from="1543489136305" duration="5743000" />
<workItem from="1543495038044" duration="387000" />
<workItem from="1543588884449" duration="7362000" />
<workItem from="1543625351688" duration="5520000" />
</task>
<task id="LOCAL-00001" summary="초기 commit by intellij">
<created>1512174269218</created>
......@@ -506,7 +540,7 @@
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="226639000" />
<option name="totallyTimeSpent" value="232159000" />
</component>
<component name="TodoView">
<todo-panel id="selected-file">
......@@ -560,7 +594,7 @@
<window_info id="Capture Tool" order="6" />
<window_info id="Favorites" order="7" side_tool="true" />
<window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="bottom" id="Find" order="1" weight="0.329602" />
<window_info anchor="bottom" id="Find" order="1" weight="0.32954547" />
<window_info anchor="bottom" id="Run" order="2" sideWeight="0.49713877" weight="0.3693182" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.39925373" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
......@@ -689,80 +723,80 @@
</entry>
<entry file="file://$PROJECT_DIR$/views/daum.ejs" />
<entry file="file://$PROJECT_DIR$/routes/daum.js" />
<entry file="file://$PROJECT_DIR$/views/setting.ejs">
<entry file="file://$PROJECT_DIR$/views/error.ejs">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret lean-forward="true" />
<state relative-caret-position="57">
<caret line="3" selection-start-line="3" selection-end-line="3" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/views/toonviewer.ejs">
<entry file="file://$USER_HOME$/Desktop/YTMT-master-f6ba581c2d39966c105a13a31a3246237b655d48/YTMT-master-f6ba581c2d39966c105a13a31a3246237b655d48/app.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="247">
<caret line="13" column="3" selection-start-line="13" selection-start-column="3" selection-end-line="13" selection-end-column="3" />
<state>
<caret lean-forward="true" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/views/index.ejs">
<entry file="file://$PROJECT_DIR$/app.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="399">
<caret line="21" column="8" selection-start-line="21" selection-start-column="8" selection-end-line="21" selection-end-column="8" />
<state relative-caret-position="146">
<caret line="62" column="35" lean-forward="true" selection-start-line="62" selection-start-column="35" selection-end-line="62" selection-end-column="35" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/views/mytoons.ejs">
<entry file="file://$PROJECT_DIR$/routes/toonviewer.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="616">
<caret line="56" lean-forward="true" selection-start-line="56" selection-end-line="56" />
<state relative-caret-position="133">
<caret line="7" column="23" lean-forward="true" selection-start-line="7" selection-start-column="23" selection-end-line="7" selection-end-column="23" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/views/error.ejs">
<entry file="file://$PROJECT_DIR$/routes/setting.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="57">
<caret line="3" selection-start-line="3" selection-end-line="3" />
<state relative-caret-position="312">
<caret line="53" column="14" lean-forward="true" selection-start-line="53" selection-start-column="14" selection-end-line="53" selection-end-column="14" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/routes/toonviewer.js">
<entry file="file://$PROJECT_DIR$/views/toonviewer.ejs">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret lean-forward="true" />
<state relative-caret-position="152">
<caret line="8" column="21" lean-forward="true" selection-start-line="8" selection-start-column="21" selection-end-line="8" selection-end-column="21" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/Desktop/YTMT-master-f6ba581c2d39966c105a13a31a3246237b655d48/YTMT-master-f6ba581c2d39966c105a13a31a3246237b655d48/app.js">
<entry file="file://$PROJECT_DIR$/views/mytoons.ejs">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret lean-forward="true" />
<state relative-caret-position="19">
<caret line="25" column="12" lean-forward="true" selection-start-line="25" selection-start-column="12" selection-end-line="25" selection-end-column="12" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/routes/mytoons.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="141">
<caret line="54" column="36" selection-start-line="54" selection-start-column="36" selection-end-line="54" selection-end-column="36" />
<state relative-caret-position="171">
<caret line="9" column="27" lean-forward="true" selection-start-line="9" selection-start-column="27" selection-end-line="9" selection-end-column="27" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app.js">
<entry file="file://$PROJECT_DIR$/routes/index.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="397">
<caret line="32" lean-forward="true" selection-start-line="32" selection-end-line="32" />
<state relative-caret-position="152">
<caret line="8" lean-forward="true" selection-start-line="8" selection-end-line="8" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/routes/setting.js">
<entry file="file://$PROJECT_DIR$/views/index.ejs">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret lean-forward="true" />
<state relative-caret-position="141">
<caret line="99" column="14" lean-forward="true" selection-start-line="99" selection-start-column="14" selection-end-line="99" selection-end-column="14" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/routes/index.js">
<entry file="file://$PROJECT_DIR$/views/setting.ejs">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="583">
<caret line="336" lean-forward="true" selection-start-line="336" selection-end-line="336" />
<state relative-caret-position="65">
<caret line="29" column="22" lean-forward="true" selection-start-line="29" selection-start-column="22" selection-end-line="29" selection-end-column="22" />
</state>
</provider>
</entry>
......
......@@ -62,36 +62,6 @@ router.get('/auth/logout/kakao',function (req,res) {
allWebtoons = new Array();
function getLatestToon(titleid, day ,cb) {
/*var url = "http://comic.naver.com/webtoon/list.nhn?titleId=" + titleid+ "&weekday="+day;
console.log(url);
request(url, function (err, res, html) {
if (!err) {
var $ = cheerio.load(html);
var latestLink = 'http://comic.naver.com';
var latest;
var t = $('#content > table > tbody > tr > td.title > a').first().each(function () {
latestLink += $(this).attr('href');
setTimeout(function () {},100);
latest = latestLink.split('?')[1].split('&')[1].split('=')[1];
});
var latestImage;
$('#content > table > tbody > tr > td > a > img').first().each(function () {
latestImage = $(this).attr('src');
setTimeout(function () {},100);
});
cb({
latest: latest,
latestLink: latestLink,
latestImage: latestImage
});
} else {
console.log("최신화 못가져왔습니다.");
//throw err;
}
});*/
}
function getAllToons() {
......@@ -287,10 +257,6 @@ function getAllToons() {
p.then(function() {
i = 0;
allWebtoonList.forEach(function (webtoon) {
// getLatestToon(webtoon.toon_index, webtoon.week, function (latest_toon) {
// webtoon.latest = latest_toon.latest;
//i++;
//console.log(i + " = " + webtoon.name + " : " + webtoon.latest);
var sql= "INSERT INTO `toon` (toon_index, name, thum_link, webtoon_link, week, site, latest) VALUES(?) ON DUPLICATE KEY UPDATE latest=latest";
var values=[webtoon.toon_index, webtoon.name, webtoon.thum_link, webtoon.webtoon_link,webtoon.week, webtoon.site, webtoon.latest];
connection.query(sql,[values],function(err,result){
......@@ -299,11 +265,6 @@ function getAllToons() {
} else {
console.log("웹툰 DB처리 완료!");
}
//[webtoon,webtoon.latest], function () {
// if (err) {
// console.log("웹툰 갱신중 에러!");
//}
// }
});
//});
})
......
var express = require('express');
var cheerio = require('cheerio');
var request = require('request');
var async = require('async');
var router = express.Router();
function getUpdatedToons(cb){
var allToons = new Array();
var allToonsUrl = "http://comic.naver.com/webtoon/weekday.nhn";
request(allToonsUrl, function(err, res, html){
if(!err){
var $ = cheerio.load(html);
var p = Promise.resolve();
var eachs = $(".thumb").has('.ico_updt').next().each(function() {
p = p.then(function() {
var link = $(this);
var toonName = link.text();
var toonHref = link.attr('href');
allToons[toonName] = toonHref;
});
});
p.then(function(){
cb(allToons);
});
}else{
console.log("업데이트 웹툰 못가져왔습니다.");
throw err;
}
});
}
function getMyToons(id,cb){
//var sql = "INSERT INTO `user` (id) VALUES (?)";
//var kid=[profile._json.id];
//connection.query(sql,kid,function(err,result){
var sqlquery = "SELECT name, thum_link, webtoon_link, week, last, t.toon_index AS toon_index FROM user u, user_toon_relation ur, toon t WHERE u.id=? && u.id=ur.user_id && t.toon_index=ur.toon_index;";
//var sqlquery = "SELECT name, thum_link, webtoon_link, week, last, latest, t.toon_index AS toon_index FROM user u, user_toon_relation ur, toon t WHERE u.id=? && u.id=ur.user_id && t.toon_index=ur.toon_index;";
//id 값을 가진 user가 저장한 웹툰들 가져오기
var sqlquery = "SELECT t.toon_index, t.name, t.thum_link, t.webtoon_link, t.week, t.site FROM user u, user_toon_relation ur, toon t WHERE u.id = '"+id+"' && u.id=ur.user_id && t.toon_index=ur.toon_index;";
var mylist = new Array();
connection.query(sqlquery,id,function(err,rows,result){
if(!err){
mylist=rows;
cb(mylist);
console.log(mylist);
}else{
console.log("내 웹툰 리스트 가져오는데 실패했습니다!");
//throw err;
......
......@@ -3,35 +3,34 @@ var router = express.Router();
function addMyToons(id,index,cb){
connection.query("INSERT INTO user_toon_relation SET ?;",
{user_id : id,toon_index : index, last : 1},function (err) {
{user_id : id,toon_index : index},function (err) {
if(err) {
throw err;
console.log("내 웹툰 추가중 에러!")
} else{
//alert("추가되었습니다.")
// alert("추가되었습니다.")
cb();
}
});
}
//내툰 수정하기
router.post('/toggle_toon',function(req,res,next){
var index = req.body.toon_index;
var id = req.user.user_id;
connection.query("SELECT COUNT(*) FROM user_toon_relation WHERE user_id=? && toon_index=?",
connection.query("SELECT COUNT(*) FROM user_toon_relation WHERE user_id='"+id+"' && toon_index='"+index+"'",
[id,index], function (err, rows,result) {
if(err){
console.log("내웹툰 등록중 에러!");
}else{
var count = rows[0]["COUNT(*)"];
if(count>0){//이미 등록되어 있는 것이라면,
connection.query("DELETE FROM user_toon_relation WHERE user_id=? && toon_index=?;",
connection.query("DELETE FROM user_toon_relation WHERE user_id='"+id+"' && toon_index='"+index+"';",
[id, index],function (err, rows, result) {
if(err) {
console.log("내 웹툰 제거중 에러!");
throw err;
}else{
//alert("제거되었습니다.")
// alert("제거되었습니다.")
res.redirect('/setting');
}
});
......@@ -45,13 +44,15 @@ router.post('/toggle_toon',function(req,res,next){
});
function getMyToons(id,cb){
var sqlquery = 'SELECT name, thum_link, webtoon_link, week, last FROM user u, user_toon_relation ur, toon t WHERE u.id=? && u.id=ur.user_id && t.toon_index=ur.toon_index;';
//mysql5.7 syntax에 맞게 수정 => 로그인한 유저의
var sqlquery = "SELECT t.toon_index, t.name, t.thum_link, t.webtoon_link, t.week, t.site FROM user u, user_toon_relation ur, toon t WHERE u.id = '"+id+"' && u.id=ur.user_id && t.toon_index=ur.toon_index;";
var mylist = new Array();
connection.query(sqlquery,id,function(err,rows,result){
if(!err){
mylist=rows;
cb(mylist);
}else{
router.get('/')
console.log("내 웹툰 리스트 가져오는데 실패했습니다!");
//throw err;
}
......
......@@ -4,15 +4,6 @@ var request = require('request');
var cheerio = require('cheerio');
var async = require('async');
function updateLastWebtoon(toon_index, user_id, num,cb){
var sql_query = "UPDATE user_toon_relation SET last=? WHERE user_id=? && toon_index=?";
connection.query(sql_query,[num, user_id,toon_index],function(err){
if(!err){
cb();
}
});
}
function getToonImages(toon_index, num, cb){
var imageList = [];
var toonUrl = "http://comic.naver.com/webtoon/detail.nhn?titleId=" + toon_index + "&no=" + num;
......@@ -41,10 +32,6 @@ router.get('/:toon_index/:num',function(req,res){
res.redirect('/');
return;
}
updateLastWebtoon(req.params.toon_index, req.user.user_id, req.params.num, function(){
var toonUrl = "http://comic.naver.com/webtoon/detail.nhn?titleId=" + req.params.toon_index + "&no=" + req.params.num;
res.redirect(toonUrl);
getToonImages(req.params.toon_index, req.params.num, function(imageList){
res.render('toonviewer',{
title: "zzz",
......@@ -52,7 +39,7 @@ router.get('/:toon_index/:num',function(req,res){
});
});
})
// })
});
module.exports = router;
\ No newline at end of file
......
......@@ -4,7 +4,7 @@
<title>내툰</title>
<link rel='stylesheet' href='/stylesheets/style.css' />
<style>
.toon_latest,.toon_next,.toon_last,.toon_name,.toon_thumbnail{
.toon_name,.toon_thumbnail{
width:10%;
}
......@@ -28,24 +28,30 @@
<h1>내툰</h1>
<p>추가한 리스트</p>
<a href="/auth/logout/kakao">로그아웃</a>
<a href="/setting/">세팅</a>
<a href="/setting/">수정하기</a>
<table>
<tr>
<th>썸네일</th>
<th>웹툰명</th>
<th>최근에 본 화</th>
<th>다음화</th>
<th>최신화</th>
<th>요일</th>
<th>사이트</th>
<th>바로가기</th>
</tr>
<!--로그인한 회원이 내툰에 웹툰이 없을시-->
<%if (mytoons.length==0){
%>
<th>내툰리스트에 웹툰이 없습니다! 수정하기 버튼을 눌러서 추가하세요!</th>
<%}%>
<% for(i=0;i<mytoons.length; i++){
%><tr>
<td class="toon_thumbnail"><image src="<%= mytoons[i].thum_link%>"/></td>
<td class="toon_name"><%= mytoons[i].name %></td>
<td class="toon_last"><a href="/toonviewer/<%= mytoons[i].toon_index %>/<%= mytoons[i].last %>"><%= mytoons[i].last %>화</a></td>
<td class="toon_next"><% if(mytoons[i].last+1 <= mytoons[i].latest){ %> <a href="/toonviewer/<%= mytoons[i].toon_index %>/<%= mytoons[i].last+1 %>"><%= mytoons[i].last +1 %>화</a><% } %></td>
<td class="toon_latest"><a href="/toonviewer/<%= mytoons[i].toon_index %>/<%= mytoons[i].latest %>"><%= mytoons[i].latest %>화</a></td>
<td class="week"><%= mytoons[i].week.toLowerCase() %></td>
<td class="site"><%= mytoons[i].site %></td>
<td class="webtoon_link"><a href="<%=mytoons[i].webtoon_link%>">바로가기</a></td>
</tr>
<% } %>
</table>
</br>
......