/* ********************************************************************************* * システム:katsuyo.net * *===============================================================================* * クラス:tonari_rank |モジュール:tonari_rank.php * * 概要 :隣の晩ごはん 隣の晩ごはん達人ランキング表示画面 * * パス :APP_HOME/tonari/ * * 作成 :2006/08/09 J.Nikaido * *-------------------------------------------------------------------------------* * 更新 : * ********************************************************************************* */ require_once('../prepare.php'); require_once('lib/bbs_recipe_function.php'); //- メンバーチェック if("e" == $p['carrier']){ chdir(dirname(__FILE__) . "/authcheck"); require_once("../authcheck/authcheck.php"); chdir(dirname(__FILE__)); } $db = u4user_open(); if(!get_UserDetail_uid($db, $p['uid'], '0', '1') && MEMBER_CHECK){ header("Location: " . MEMBER_REGIST_URL . "?p[contents]=" . substr(strrchr(dirname( __FILE__ ) , '/'), 1)); exit; } function tonari_rank( $p ){ //現在時間の取得 $today = getdate(); //- ランキングデータ日付取得(m:月間 w:週間) switch($p['r_id']){ case "m": //月始を求める $start_day = mktime(0,0,0,$today[mon],1,$today[year]); //月終を求める $end_day = mktime(0,0,0,$today[mon] + 1,0,$today[year]); //yyyy/mm/ddの形式に変換 $start_period = date("Y/m/d",$start_day); $end_period = date("Y/m/d",$end_day); //表示用にyyyy年mm月dd日の形式に変換 $str_period = sprintf("%s〜%s",date("Y年m月d日",$start_day),date("Y年m月d日",$end_day)); break; case "w": //週始を求める $start_day = mktime(0,0,0,$today[mon],($today[mday]-$today[wday]),$today[year]); //週終を求める $end_day = mktime(0,0,0,$today[mon],($today[mday] + (7 - $today[wday])),$today[year]); //yyyy/mm/ddの形式に変換 $start_period = date("Y/m/d",$start_day); $end_period = date("Y/m/d",$end_day); //表示用にyyyy年mm月dd日の形式に変換 $str_period = sprintf("%s〜%s",date("Y年m月d日",$start_day),date("Y年m月d日",$end_day)); break; } //DB接続 $db = DB::connect(constant('KTY_DSN')); if(DB::isError($db)){ echo "DB接続エラー:".DB::errorMessage($db)."\n"; exit; } $where = sprintf(" v.post_id = c.uniq_id and c.post_date between '%s' and '%s' ","$start_period%","$end_period%"); $order = " v.poll desc limit 0,10"; $from = " contents_data_tonari_vote v ,contents_data_tonari_contribute c"; $sql = "select v.post_id,v.poll,c.post_date, c.post_no, c.post_title, c.uniq_id "; $sql .= sprintf(" from %s where %s order by %s",$from,$where,$order); //print $sql; $res = $db->query($sql); if(DB::isError($res)){ echo "
クエリの送信が失敗しました。
"; exit; } //件数取得 $num = $res->numRows(); // テンプレート読み込み $template =& loadTemplate( $p ); //- ranking $i = 1; if(!empty($num)){ $template->setCurrentBlock('__RankingPeriod__'); $template->setVariable('split_date',$str_period); $template->parseCurrentBlock(); while($row = $res->fetchRow(DB_FETCHMODE_ASSOC)){ //顧客情報からニックネーム取得 $user_detail = rcp_get_UserDetail($db,$row['post_no']); $id = $row['post_no']; if($i < 4){ //$where = sprintf(" post_no = '$s' and pub_flg = 0 and dlt_flg = 0 ",$row['post_no']); $where = " post_no = ".$row['post_no']." and pub_flg = 0 and dlt_flg = 0 "; $order = " post_date desc limit 0,1"; $from = " contents_data_tonari_contribute"; $sql = "select post_date, post_img, post_title, uniq_id "; $sql .= sprintf(" from %s where %s order by %s",$from,$where,$order); $res = $db->query($sql); if(DB::isError($res)){ echo "クエリの送信が失敗しました。
"; exit; } while($img = $res->fetchRow(DB_FETCHMODE_ASSOC)){ $template->setCurrentBlock('__ImageLink__'); //画像パス取得 // $img_path = sprintf("/home/www/public/image/tonari/%s",$img['uniq_id']); //画像表示処理 // if(!empty($img['uniq_id'])){ // $template->setVariable('image_id',sprintf("