게시글 전체에 sql 수정·적용하기?
본문
안녕하세요.
저는 유튜브/비메오 등 영상 업로드 게시판을 제작 하였는데요.
비메오의 경우 아래와 같은 함수를 통하여 썸네일 이미지를 가져 왔습니다.
function get_vimeoThumb($id) {
$apiurl = "http://vimeo.com/api/v2/video/".$id.".json";
$curlsession = curl_init ();
curl_setopt ($curlsession, CURLOPT_URL, $apiurl);
curl_setopt ($curlsession, CURLOPT_POST, 0);
curl_setopt ($curlsession, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec ($curlsession);
$JSONreturns = json_decode($response);
return $JSONreturns[0]->thumbnail_large;
}
$videoId = $list[$i]['wr_9'];
$thumb_Url = get_vimeoThumb($videoId);
$img_content = "<img src='$thumb_Url'>";
모두 제작하여 보니 list.php에서 위와 같이 할 경우 로딩속도가 엄청 느리다는걸 깨닳았습니다.
하여 write_update.skin.php에서 비메오 썸네일 주소를 저장하도록 변경 하였는데요!
문제는 이미 업로드한 게시글들이 많아서.. 이를 하나하나 수정 눌러서 작성완료를 눌러줘야 하는건지
아니면 다른 방법이 있는지 여쭙고자합니다 ㅠㅠ
write_update.skin.php 내용입니다
<?php
if($wr_9){
function get_vimeoThumb($id) {
$apiurl = "http://vimeo.com/api/v2/video/".$id.".json";
$curlsession = curl_init ();
curl_setopt ($curlsession, CURLOPT_URL, $apiurl);
curl_setopt ($curlsession, CURLOPT_POST, 0);
curl_setopt ($curlsession, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec ($curlsession);
$JSONreturns = json_decode($response);
return $JSONreturns[0]->thumbnail_large;
}
$wr_8 = get_vimeoThumb($wr_9);
}
$sql = " update $write_table set
wr_8 = '$wr_8'
where wr_id = '$wr_id' ";
sql_query($sql);
?>
답변 감사합니다!!
답변 1
통상적으로 다음과 같은 방법이 있습니다.
1. list.php 에서 선택적 로딩
썸네일 주소가 저장되어 있으면 그대로 보여주고 없을 경우 get_vimeoThumb($id) 로딩
각 게시물당 최초 1회만 딜레이 발생
2. DB 전체 조회후 일괄 함수처리
1회성 전체 게시물 수행용 스크립트를 만들어 처리