ODBC¸¦ »ç¿ëÇÏ¿© DB¸¦ ¿¬°áÇÏ¿´À» °æ¿ì »ç¿ëÀÚ°¡ ¿øÇÏ´Â µ¥ÀÌÅ͸¦ DB¿¡¼ ºÒ·¯¿À°í ½ÍÀ» °ÍÀÌ´Ù. ÀÌ ¶§´Â ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÑ´Ù.
SQL¹®À» »ç¿ëÇÏ¿© °Ë»öÀ» »ç¿ëÇÏ´Â °æ¿ì DBÁ¾·ù¸¶´Ù Çü½ÄÀÌ ´Ù¸£±â ¶§¹®¿¡ DBÀÇ SQL¹®À» ¾î´À Á¤µµ »ç¿ëÇÒ ÁÙ ¾Ë¾Æ¾ß ÇÑ´Ù.
1) µ¥ÀÌÅͺ£À̽º ±¸¼ºÀº ÆíÁý±â|SQL¿¬°á¼³Á¤À» ÂüÁ¶ÇÑ´Ù.
2) ȸéÀ» ±¸¼ºÇÑ´Ù. ´ÙÀ½ ¿¹´Â °Ë»ö ¹öÆ°À» »ç¿ëÇÏ¿© ¿øÇÏ´Â µ¥ÀÌÅ͸¦ º¸¿©Áִ ȸéÀÌ´Ù.
À§ÀÇ È¸é ±¸¼º¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº ¡®ODBC¿¬°á SQL»ç¿ë ¿©·¯ÁÙ ·¹ÄÚµå º¸À̱⡯¸¦ ÂüÁ¶ÇÑ´Ù. ¹Ù²ï ³»¿ëÀº À§ÀÇ ¡®°Ë»ö¡¯ ¹öÆ°ÀÌ ÂüÁ¶³»¿ë¿¡¼´Â ¡®Ã³À½ ºÒ·¯¿À±â¡¯ ¹öÆ°À¸·Î ¹Ù²î°í, °Ë»öÇÒ ÇÊµå ½ºÆ®¸µ ű×(SEARCHNAME)¿Í °Ë»öÇÒ °ª(SEARCH)ÀÌ Ãß°¡µÈ °ÍÀÌ ´Ù¸£´Ù.
À§ÀÇ È¸é¿¡ ´ëÇÑ ¼³¸í
DB¿¡¼ ¿øÇÏ´Â µ¥ÀÌÅ͸¦ ã°íÀÚ ÇÑ´Ù. ãÀ» Á¶°ÇÀº °Ë»öÇÒ Çʵå¸íÀÇ ½ºÆ®¸µ ű׿¡ DBÀÇ ÇÊµå ¸íÀ» ÀÔ·ÂÇÏ°í ÀÌ ÇÊµå ¸í¿¡ ÇØ´çÇÏ´Â µ¥ÀÌÅ͸¦ ÁÖ°Ô µÇ¸é µÈ´Ù. (¿¹¸¦ µé¾î, DBÀÇ ÇÊµå ¸íÀÌ YMD(³¯Â¥Å±×)ÀÌ°í, ãÀ» ³¯Â¥´Â 2000/11¿ù·Î ½ÃÀ۵Ǵ ¸ðµç ·¹ÄÚµå¶ó°í Á¤ÀÇÇÏ¸é °Ë»öÇÒ ÇÊµå ¸íÀÇ SEARCHNAME¿¡´Â YMD ¶ó°í ÀÔ·ÂÇÏ°í, °Ë»öÇÒ °ªÀÇ SEARCH¿¡´Â 2000/11%¶ó°í ½áÁÖ¸é µÈ´Ù.)
%´Â DBÀÇ Query¹®¿¡¼ »ç¿ëÇÏ´Â ¹®Àڷμ Çà´ç DBÀÇ Query¸¦ ÂüÁ¶Çϼ¼¿ä.
1) À§¿Í °°ÀÌ È¸éÀ» ±¸¼ºÇÏ¿´´Ù¸é °Ë»ö¹öÆ°¿¡ ´ÙÀ½°ú °°ÀÌ ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÑ´Ù.
@sprintf($YMD,"%s","");
@sprintf($AI01,"%s","");
@sprintf($AI02,"%s",""); //°Ë»öÇϱâ Àü¿¡ ÀÏ´Ü °Ë»öÇÒ ³»¿ëÀ» ÀúÀåÇÒ ¹öÆÛµéÀ» CLEAR½ÃŲ´Ù.
@sprintf(bufwhere,"%s Like '%s'",$SEARCHNAME,$SEARCH); //bufwhere¶ó´Â ¹öÆÛ¿¡ DB SQL¿¡¼ »ç¿ëÇÒ WHEREÀýÀ» ÀúÀåÇÑ´Ù.
id=@SQLConnect("autobase","",""); // DB¿Í ¿¬°áÇÑ´Ù.
@SQLSelect(id,"table1","bindlist",bufwhere,""); // À§¿¡¼ ÀúÀåÇÑ bufwhereÀÇ ³»¿ëÀ» Á¶°ÇÀý·Î ÇÏ¿© DBÀÇ µ¥ÀÌÅ͸¦ ºÒ·¯¿Â´Ù.
////
@SQLLast(id);
$LASTPOS=@SQLGetPos(id);
share=$LASTPOS/3;
remaind=$LASTPOS%3;
if(remaind != 2) {
$TOTALPAGE = share+1;
}
if(remaind == 2)
{
$TOTALPAGE = share;
}
if($LASTPOS == 0)
{
$TOTALPAGE = 1;
}
// ÀÌ»çÀÌÀÇ ¹®ÀåÀº °Ë»öÇÑ µ¥ÀÌÅ͵éÀÇ ÀüüÆäÀÌÁö¸¦ ³ªÅ¸³½´Ù. ( ¸¸¾à, 3°³ÀÇ ·¹Äڵ带 1ÆäÀÌÁö·Î ÇÏ¿´À» °æ¿ì)
////
/////
@SQLFirst(id);
for(i=1; i<=3; i=i+1){
$POS=@SQLGetPos(id);
@sprintf(buf1,"YMD_%02d",i);
@sprintf(buf2,"AI01_%02d",i);
@sprintf(buf3,"AI02_%02d",i);
if( $POS == $LASTPOS ){
count=count+1;
}
@SetTagValue(buf1,$YMD);
@SetTagValue(buf2,$AI01);
@SetTagValue(buf3,$AI02);
if (count >1 ){
@SetTagValue(buf1,"");
@SetTagValue(buf2,0);
@SetTagValue(buf3,0);
}
@SQLNext(id);
}
///// ´ÙÀ½ ³»¿ëÀº YMD_01,YMD_02,YMD_03, AI01_01, AI01_02, AI01_03, AI02_01, AI02_02, AI02_03,ÀÇ Å±׿¡ óÀ½·¹ÄÚµåºÎÅÍ 3°³ÀÇ ·¹Äڵ带 Â÷·Ê·Î ÀúÀåÇÏ°Ô µÈ´Ù.
$PAGE=1;
@SQLDisconnect(id);
2) ´ÙÀ½¿¡´Â ¹öÆ°¿¡ ´ÙÀ½°ú °°ÀÌ ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÑ´Ù.
´ÙÀ½ ÇÁ·Î±×·¥Àº ÀüÆäÀÌÁöÀÇ 3°³ÀÇ ·¹Äڵ带 º¸¿©ÁÖ´Â ÇÁ·Î±×·¥ÀÌ´Ù.
f($PAGE <=1 ) return;
@sprintf(bufwhere,"%s Like '%s'",$SEARCHNAME,$SEARCH);
id=@SQLConnect("autobase","","");
@SQLSelect(id,"table1","bindlist",bufwhere,"");
$PAGE=$PAGE-1;
@SQLSetPos(id,($PAGE-1)*3);
for(i=1; i<=3; i=i+1){
@sprintf(buf1,"YMD_%02d",i);
@sprintf(buf2,"AI01_%02d",i);
@sprintf(buf3,"AI02_%02d",i);
@SetTagValue(buf1,$YMD);
@SetTagValue(buf2,$AI01);
@SetTagValue(buf3,$AI02);
@SQLNext(id);
$POS=@SQLGetPos(id);
}
$POS=$POS-1; // ÇöÀç º¸¿©Áö´Â ·¹ÄÚµåÀÇ ¸¶Áö¸· À§Ä¡¸¦ ³ªÅ¸³½´Ù.
@SQLDisconnect(id);
3) ´ÙÀ½¿¡´Â ¹öÆ°¿¡ ´ÙÀ½°ú °°ÀÌ ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÑ´Ù.
´ÙÀ½ ÇÁ·Î±×·¥Àº ´ÙÀ½ 3°³ÀÇ ·¹Äڵ带 º¸¿©ÁÖ´Â ÇÁ·Î±×·¥ÀÌ´Ù.
if($PAGE >= $TOTALPAGE ) return;
@sprintf(bufwhere,"%s Like '%s'",$SEARCHNAME,$SEARCH);
id=@SQLConnect("autobase","","");
@SQLSelect(id,"table1","bindlist",bufwhere,"");
@SQLSetPos(id,$PAGE*3);
$PAGE=$PAGE+1;
for(i=1; i<=3; i=i+1){
$POS=@SQLGetPos(id);
@sprintf(buf1,"YMD_%02d",i);
@sprintf(buf2,"AI01_%02d",i);
@sprintf(buf3,"AI02_%02d",i);
@SetTagValue(buf1,$YMD);
@SetTagValue(buf2,$AI01);
@SetTagValue(buf3,$AI02);
if( $POS == $LASTPOS) count=count+1;
if(count>1){
@SetTagValue(buf1,"");
@SetTagValue(buf2,0);
@SetTagValue(buf3,0);
}
@SQLNext(id);
}
@SQLDisconnect(id);