= 1) { while ($amazon_large_category = tep_db_fetch_array($result)){ $l_cat[$amazon_large_category['category_code']] = mb_convert_encoding($amazon_large_category['category_name'],'UTF-8','EUC-JP'); $l_cat_id[$amazon_large_category['category_code']] = $amazon_large_category['id']; } } /* b_cat(枝カテゴリID)からリンク文字列を取得する */ $adlt_branch = false; $SQL = "SELECT * FROM amazon_branch_category WHERE id = {$b_cat} AND large_category_id = {$l_cat_id[$cat]}"; $result = tep_db_query($SQL); if (tep_db_num_rows($result) >= 1) { while ($amazon_large_category = tep_db_fetch_array($result)){ $branch_cat[$amazon_large_category['id']] = mb_convert_encoding($amazon_large_category['category_link'],'UTF-8','EUC-JP'); $branch_category_name = $amazon_large_category['category_name']; // 「アダルト」カテゴリ if(mb_convert_encoding($amazon_large_category['category_name'],'UTF-8','EUC-JP') == 'アダルト'){ $adlt_branch = true; } } } /* $catで指定された大カテゴリに対して、$b_catの枝カテゴリが存在するかチェックする ※枝カテゴリが取得できない、という事は枝カテゴリが選択された状態で大カテゴリが変更された時にリクエストされたとみなす */ if(empty($branch_cat)){ $b_cat = 0; } /* amazonのベストセラーランキングからデータを取得して表示する */ // 頻繁にアクセスしてスパムだと認識させない為に該当のデータが1時間以内の取得ならDBを採用して表示する $SQL = "SELECT append_time FROM amazon_ranking WHERE cat = '{$cat}' AND branch_category_id = {$b_cat} LIMIT 1"; $result = tep_db_query($SQL); $append_time = tep_db_fetch_array($result); $append_time = ($append_time)?$append_time:0; if((strtotime($append_time['append_time']) + 60*60*6) > time()){ $SQL = "SELECT * FROM amazon_ranking WHERE cat = '{$cat}' AND branch_category_id = {$b_cat} ORDER BY rank ASC"; $result = tep_db_query($SQL); if (tep_db_num_rows($result) >= 1) { while ($listing = tep_db_fetch_array($result)){ $ranking_asins_array[$listing['rank']] = $listing['asins']; } } }else{ // 大カテゴリの指定が無い場合は「本」カテゴリをアサイン if($cat == ""){ $cat = "books"; } // 「一番ギフトとして贈られている商品」だけURLが異なる if($cat == 'most-gifted'){ // 尚且つ枝カテゴリが指定されてない場合は「本」カテゴリをデフォルトで表示する if($b_cat == 0){ $base_url = "http://www.amazon.co.jp/gp/".$cat."/books"; }else{ $base_url = "http://www.amazon.co.jp/gp/".$cat; } }else{ $base_url = "http://www.amazon.co.jp/gp/bestsellers/".$cat; } // アダルトカテゴリ用の認証URL if($adlt_branch == true){ $base_url = 'http://www.amazon.co.jp/gp/product/black-curtain-redirect.html?ie=UTF8&redirectUrl=%2Fgp%2Fbestsellers%2F'.$cat.'%2F'.str_replace(array('/','ref'),array('&','ref_'),$branch_cat[$b_cat]); } if($b_cat){ if($adlt_branch == true){ // アダルトカテゴリの場合は年齢認証を突破する $url[] = $base_url; $url[] = $base_url."&pg=2"; $url[] = $base_url."&pg=3"; }else{ $url[] = $base_url."/".$branch_cat[$b_cat]; $url[] = $base_url."/".$branch_cat[$b_cat]."?ie=UTF8&pg=2"; $url[] = $base_url."/".$branch_cat[$b_cat]."?ie=UTF8&pg=3"; } }else{ $url[] = $base_url."/ref=zg_bs_nav_0"; $url[] = $base_url."/ref=zg_bs_".$cat."_pg_2?ie=UTF8&pg=2"; $url[] = $base_url."/ref=zg_bs_".$cat."_pg_2?ie=UTF8&pg=3"; } foreach($url as $v){ $ranking_body = file_get_contents($v); $ranking_asins_array = array_merge($ranking_asins_array,get_amazon_asin($ranking_body)); } /* ランキングデータが取得できた場合はDBへ保存 データが取得できなかった場合はDBから取得する */ if(count($ranking_asins_array) >= 50){ $SQL = "DELETE FROM amazon_ranking WHERE cat = '{$cat}' AND branch_category_id = {$b_cat}"; $result = tep_db_query($SQL); $append_time = date("Y-m-d H:i:s"); foreach($ranking_asins_array as $k => $v){ $SQL = "INSERT INTO amazon_ranking VALUES(NULL,'{$cat}',{$b_cat}, {$k},'{$v}','{$append_time}')"; $result = tep_db_query($SQL); } }else{ $subject = mb_convert_encoding('amazonランキングデータ取得失敗',"ISO-2022-JP","AUTO"); $body = mb_convert_encoding("amazonランキングデータの取得に失敗しました。\n管理者に連絡してください。","ISO-2022-JP","AUTO"); mb_send_mail('t@groovesign.jp,m.aihara@ma-one.net',$subject,$body); $SQL = "SELECT * FROM amazon_ranking WHERE cat = '{$cat}' AND branch_category_id = {$b_cat} ORDER BY rank ASC"; $result = tep_db_query($SQL); if (tep_db_num_rows($result) >= 1) { while ($listing = tep_db_fetch_array($result)){ $ranking_asins_array[$listing['rank']] = $listing['asins']; } } } } /* amazonからのランキングデータ取得処理 */ function get_amazon_asin($ranking_body){ $test = explode("zg_critical",$ranking_body); $test2 = explode("zg_paginationWrapper",$test[1]); preg_match_all('/[dp|product]\/[A-Z0-9]{10}\/ref/',$test2[0],$m); $m_u = array_unique($m[0]); foreach($m_u as $v){ preg_match('/[A-Z0-9]{10}/', $v, $ma); $result_array[] = $ma[0]; } return $result_array; } ?> おススメの映画・音楽 | ルナカティ東京
大カテゴリ: 小カテゴリ:
左のタブを選択 → カテゴリ人気順 (さらに)右のタブを選択 → カテゴリ詳細人気順
画面が切り替わるまで、データの読み込みにすこし時間を頂く場合がございます。
各ランキングデータは6時間毎に更新されます。
'; $lc_text .= ''; $lc_text .= ''; $list_box_contents[$rows][$cols] = array('align' => $lc_align, 'params' => ' width="33%" valign="top" style="padding:5px;"', 'text' => $lc_text); } $cols ++; if ($cols > 5) { $cols = 0; $rows ++; } } new tableBox_td($list_box_contents, true); ?>
売れ筋 - > - BEST-50-

高級エスコート・会員制デートクラブ    
ルナカティ東京 -Luna-Cuty-Tokyo-