smartyにまじかるちぇんじ、しちゃうんだから。!!
あ〜ん、もう、とってもsmartyなんだから。!!

<?php
//Smatyライブラリ読み込み
define('SMARTY_DIR', '/usr/share/php/smarty/');
require_once(SMARTY_DIR . 'Smarty.class.php');

//Smartyのインスタンスを作成
$smarty = new Smarty();

//各ディレクトリの指定
$smarty->template_dir = './templates/';
$smarty->compile_dir  = './templates_c/';
$smarty->config_dir   = './configs/';
$smarty->cache_dir    = './cache/';

if ( $_POST["NENTUKIHIGW"] ) {
    $NENPW = substr($_POST["NENTUKIHIGW"], 0, 4) ;
    $TSUKIPW = substr($_POST["NENTUKIHIGW"], 4, 2) ;
    $MDATEPW = date("Ymd",mktime(0,0,0, $TSUKIPW - 1, 1,$NENPW));
    $PDATEPW = date("Ymd",mktime(0,0,0, $TSUKIPW + 1, 1,$NENPW));
    $HISUPW = date("d",mktime(0, 0, 0, $TSUKIPW + 1, 0, $NENPW ));
} else {
    $NENPW = date("Y");
    $TSUKIPW = date("m"); 
    $MDATEPW = date("Ymd",mktime(0,0,0, $TSUKIPW-1, 1, $NENPW));
    $PDATEPW = date("Ymd",mktime(0,0,0, $TSUKIPW+1, 1, $NENPW));
    $HISUPW = date("d",mktime(0,0,0, $TSUKIPW+1, 0, $NENPW));
}

$IPW = 1;
$HIDPW = array();
while ($IPW <= $HISUPW){
    $TSPW = mktime(0, 0, 0, $TSUKIPW, $IPW, $NENPW );
    $YOUBIPW = date("w",$TSPW);
    if ( $YOUBIPW == 0 ){
        $HIDPW[$IPW][0] = $IPW;
        $HIDPW[$IPW][1] = "#ff0000";
    }elseif( $YOUBIPW == 6 ){
        $HIDPW[$IPW][0] = $IPW;
        $HIDPW[$IPW][1] = "#0000ff";
    }else{
        $HIDPW[$IPW][0] = $IPW;
        $HIDPW[$IPW][1] = "#000000";
    }
    ++$IPW;
}

//テンプレートの変数に値に割り当てる
$smarty->assign("TITLEGW", "smCalendar");
$smarty->assign("NENGW", $NENPW);
$smarty->assign("TSUKIGW", $TSUKIPW);
$smarty->assign("PDATEGW", $PDATEPW);
$smarty->assign("MDATEGW", $MDATEPW);
$smarty->assign("HIDGW", $HIDPW);

//テンプレートを指定し表示
$smarty->display("smCalendar.tpl");
?>

ここからテンプレート
smCalendar.tpl---------------------------------------

<html>
<head>
<title>{$TITLEGW|escape}</title>
{* テンプレート中のコメント *}
{* javascriptなどはliteralの中に *}
{literal}
<script type="text/javascript" src="...js"></script>
{/literal}
</head>
<body>
    <form method="POST" action="smCalendar.php" style="float: left;">
        <input type="submit" value="<<">
        <input type='hidden' name='NENTUKIHIGW' value='{$MDATEGW|escape}'>
    </form>
    <div style='color:#000000; border:1px solid #ccc; float: left;'>
        {$NENGW|escape} 年 {$TSUKIGW|escape} 月 
    </div>
    <form method="POST" action="smCalendar.php" style="float: left;">
        <input type="submit" value=">>">
        <input type='hidden' name='NENTUKIHIGW' value='{$PDATEGW|escape}'>
    </form>
    <br>
    <br>
    <br>
{* 配列の利用 *}
{foreach from=$HIDGW item=HIDPW }
    <div style="color:{$HIDPW[1]|escape}; border:1px solid #ccc; width: 20px; float: left;">{$HIDPW[0]|escape}</div>
{foreachelse}
  表示させるデータがありません。
{/foreach}
</body>
</html>