다음 책검색 API -> 알라딘 API > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

다음 책검색 API -> 알라딘 API 정보

다음 책검색 API -> 알라딘 API

본문

서누니님의 도서검색 스킨을 변경하고 싶습니다.
http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=85176

해당 스킨은 다음 API를 사용중인데 알라딘 API로 바꾸려고 보니
쿼리 날리는 주소랑 변수만 바꿔주면 될 줄 알았는데 생각보다 구조가 다른 부분이 있어서 어떻게 해야 할 지 모르겠습니다.

write.skin.php만 바꾸면 리스트랑 보기 화면은 기존과 다를 것이 없으니 어떻게든 될 듯 합니다.


/* 여기부터 책검색 */
var obj = {
	apikey: "<?=$board['bo_1']?>",
	pageno: 1,
	init : function()
	{
		obj.q = document.getElementById('q');
		obj.b = document.getElementById('b');
		obj.r = document.getElementById('r');
		obj.book_page = document.getElementById('book_page');
		obj.b.onclick = obj.pingSearch;
	},
	// 검색을 요청하는 함수 
 	pingSearch : function()
 	{
	    if (obj.q.value)
	    {
//		if(!pageno)
//		var pageno=1;
	      obj.s = document.createElement('script');
	      obj.s.type ='text/javascript';
	      obj.s.charset ='utf-8';
	      obj.s.src = 'http://apis.daum.net/search/book?apikey=' + obj.apikey + '&pageno='+obj.pageno+'&result=12&output=json&callback=obj.pongSearch&q=' + encodeURI(obj.q.value);
	      document.getElementsByTagName('head')[0].appendChild(obj.s);
	    }
 	},
 	// 검색 결과를 뿌리는 함수 
	pongSearch : function(z)
	{
		obj.r.innerHTML = '';
		if(!z.channel || z.channel.item.length <= 0)
		{
			obj.r.innerHTML = "검색 결과가 없습니다.";
			return;
		}
		else
		{
			book_title = new Array();
			book_author = new Array();
			book_translator = new Array();
			book_category = new Array();
			book_pub_nm = new Array(); //출판사
			book_pub_date = new Array(); //출판일
			book_link = new Array();
			book_description = new Array(); //책소개
			book_img = new Array(); //이미지
			book_img_l = new Array(); //큰이미지
			for (var i = 0; i < z.channel.item.length; i++)
			{
				book_title[i] = obj.escapeHtml(z.channel.item[i].title);
				book_author[i] =  obj.escapeHtml(z.channel.item[i].author);
				book_translator[i] =  obj.escapeHtml(z.channel.item[i].translator);
				book_category[i] =  obj.escapeHtml(z.channel.item[i].category);
				book_pub_nm[i] =  obj.escapeHtml(z.channel.item[i].pub_nm);
				book_pub_date[i] =  obj.escapeHtml(z.channel.item[i].pub_date);
				book_link[i] =  obj.escapeHtml(z.channel.item[i].link);
				book_description[i] =  obj.escapeHtml(z.channel.item[i].description);
				book_img[i] = z.channel.item[i].cover_s_url;
				book_img_l[i] = z.channel.item[i].cover_l_url;
				var li = document.createElement('li');
				if(z.channel.item[i].cover_s_url)
					li.innerHTML = "<img src=\'"+z.channel.item[i].cover_s_url+"\' onclick=\'gogo("+i+")\' style=\'cusor:pointer;\'>";
				else
					li.innerHTML = "<a href=# onclick=\'gogo("+i+")\'>"+z.channel.item[i].title+"</a>";
				obj.r.appendChild(li);
			}
			//var totalpage = Math.ceil(z.channel.totalCount/z.channel.result);
			//if(totalpage > 1)
				//obj.book_page.innerHTML = " 검색결과("+z.channel.pageno+"쪽/"+totalpage+"쪽)";
		}
	},
	// HTML태그 안 먹게 하는 함수
	escapeHtml : function(str) 
	{
		str = str.replace(/&amp;/g, "&");
		str = str.replace(/&lt;/g, "<");
		str = str.replace(/&gt;/g, ">");
		return str;
	}
};
function gogo(book_num)
{
	document.fwrite.wr_1.value = book_category[book_num];
	document.fwrite.wr_2.value = book_title[book_num];
	if(book_translator[book_num])
		document.fwrite.wr_3.value = book_author[book_num]+"/"+book_translator[book_num];
	else
		document.fwrite.wr_3.value = book_author[book_num];
	document.fwrite.wr_4.value = book_pub_nm[book_num];
	document.fwrite.wr_5.value = book_pub_date[book_num];
	document.fwrite.wr_6.value = book_description[book_num];
	document.fwrite.wr_link1.value = book_link[book_num];
	document.fwrite.wr_9.value = book_img_l[book_num];
	document.fwrite.wr_10.value = book_img[book_num];
}
window.onload = function()
{
  obj.init();
<? if($w) { ?>
	document.getElementById('q').value = "<?=strip_tags($write[wr_2])?>";
<? } ?>
  obj.pingSearch();
};
/* 여기까지 책검색 */




표지 대/소와 제목, 출판사, 내용만 나오면 됩니다.


다음 책검색 API
http://dna.daum.net/apis/search/book

알라딘 책검색 API
http://blog.aladin.co.kr/ttb/category/16526940?communitytype=MyPaper

( select a.* , ( select sum(co_count) as co_count from g4_qa_choose where mb_id=a.mb_id and bo_table = 'g4_qa' ) as q_co_count from `g4_write_g4_qa` a where wr_parent = '182365' and wr_8 != '' and wr_is_comment = 1 and CONVERT(wr_7, UNSIGNED) >= 5 group by wr_content having max(wr_7) order by CONVERT(wr_7, UNSIGNED) desc limit 3 )

1055 : Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'sir.a.wr_id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

error file : /15sir/bbs/board.php