묻고답하기
xe에서 php 변수 사용..
2010.10.08 16:51
<?
include "/lib/fnc.php";
include "/lib/dbConn.php";
$MapPath = "/";
function setBoard($dbName,$limit){
$_tmpHTML ='<table width="100%" border="0" cellspacing="0" cellpadding="0">';
switch($dbName){
case("wit_bd1"):$linkURL = "/_01_v.html";$cutListCnt=15;$topTitleChr=" ";break;
case("wit_bd2"):$linkURL = "/_01_v.html";$cutListCnt=15;$topTitleChr=" ";break;
}
$strSQL = "select num,step,pstNo,title,idx,regDate from $dbName ";
if($dbName == ''){
$strWhere = " where step='0' ";
}else{
$strWhere = "";
}
$strOrder = "order by num desc,step asc,pstNo desc limit $limit";
$rs = @mysql_query($strSQL.$strWhere.$strOrder);
if(@mysql_error() || mysql_num_rows($rs)==0){
$fncTotalCnt = 0;
}else{
$fncTotalCnt = mysql_num_rows($rs);
}
if($fncTotalCnt >0){
$L=0;
if($topTitleChr !="") $topTitleChr ="<font color='CC7373'>".$topTitleChr."</font>";
while($row = mysql_fetch_array($rs)){
$tmp = explode(" ",$row[regDate]);
$fncTitle = nLeft(stripslashes($row["title"]),$cutListCnt);
$_tmpHTML .= "<tr><td height=\"18\">";
$_tmpHTML .= " <a href=".$linkURL."?idx=".$row["idx"]."'><font color=black>".$topTitleChr.$fncTitle."<td align=\"right\">$tmp[0] </td></a> </td></tr>";
$L++;
}
}
for($i=$L;$i<$limit;$i++){
$_tmpHTML .=" <tr><td height='20'></td></tr>";
}
$_tmpHTML .='</table>';
return $_tmpHTML;
}//end fnc
?>
메인에 최근글 출력을 위해 위와같이 php를 사용하여 최상단에 넣고
최근게시물 출력이 필요한곳에 <?=setBoard('',3)?>를 넣었는데
정상적으로 나타나지 않네요.
외부페이지를 이용해서 위의 소스가 입력된 파일을 지정하여 불러오면 정상적으로 출력이 안됩니다.
어떻게 써야할까요?
외부페이지, 위젯 모두 템플릿을 이용하여 처리하기 때문에 스킨소스에 php문을 사용하는걸 권장하지 않습니다.
xml query를 이용하여 출력하는 방법을 사용하시는게 좋을 것 같습니다.
http://xe.xpressengine.net/wiki/18180631
요세는 while 보단 foreach를 사용하며 XE는 전부 foreach를 이용합니다.