本文整理汇总了PHP中SC_Helper_DB_Ex::sfGetCategoryId方法的典型用法代码示例。如果您正苦于以下问题:PHP SC_Helper_DB_Ex::sfGetCategoryId方法的具体用法?PHP SC_Helper_DB_Ex::sfGetCategoryId怎么用?PHP SC_Helper_DB_Ex::sfGetCategoryId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SC_Helper_DB_Ex
的用法示例。
在下文中一共展示了SC_Helper_DB_Ex::sfGetCategoryId方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: process
/**
* Page のプロセス.
*
* @return void
*/
function process()
{
$objSubView = new SC_SiteView();
$objDb = new SC_Helper_DB_Ex();
// 選択中のカテゴリIDを判定する
$arrCategory_id = $objDb->sfGetCategoryId($_GET['product_id'], $_GET['category_id']);
// 選択中のカテゴリID
$this->tpl_category_id = empty($arrCategory_id) ? array(0) : $arrCategory_id;
$this->lfGetCatTree($this->tpl_category_id, true, $this);
$objSubView->assignobj($this);
$objSubView->display($this->tpl_mainpage);
}
示例2: process
/**
* Page のプロセス.
*
* @return void
*/
function process()
{
$arrSearch = array();
// 検索項目表示用
$objDb = new SC_Helper_DB_Ex();
// 選択中のカテゴリIDを判定する
$this->category_id = $objDb->sfGetCategoryId($_GET['product_id'], $_GET['category_id']);
// カテゴリ検索用選択リスト
$arrRet = $objDb->sfGetCategoryList('', true, ' ');
if (is_array($arrRet)) {
// 文字サイズを制限する
foreach ($arrRet as $key => $val) {
$arrRet[$key] = SC_Utils_Ex::sfCutString($val, SEARCH_CATEGORY_LEN, false);
}
}
$this->arrCatList = $arrRet;
$objSubView = new SC_SiteView();
$objSubView->assignobj($this);
$objSubView->display($this->tpl_mainpage);
}
示例3: lfGetSelectedCategoryId
/**
* 選択中のカテゴリIDを取得する.
*
* @param array $arrRequest リクエスト配列
* @return array $arrCategoryId 選択中のカテゴリID
*/
public function lfGetSelectedCategoryId($arrRequest)
{
// 商品ID取得
$product_id = '';
if (isset($arrRequest['product_id']) && $arrRequest['product_id'] != '' && is_numeric($arrRequest['product_id'])) {
$product_id = $arrRequest['product_id'];
}
// カテゴリID取得
$category_id = '';
if (isset($arrRequest['category_id']) && $arrRequest['category_id'] != '' && is_numeric($arrRequest['category_id'])) {
$category_id = $arrRequest['category_id'];
}
// 選択中のカテゴリIDを判定する
$objDb = new SC_Helper_DB_Ex();
$arrCategoryId = $objDb->sfGetCategoryId($product_id, $category_id);
if (empty($arrCategoryId)) {
$arrCategoryId = array(0);
}
return $arrCategoryId;
}
示例4: sfGetMultiCatTree
/**
* カテゴリツリーの取得を複数カテゴリで行う.
*
* @param integer $product_id 商品ID
* @param bool $count_check 登録商品数のチェックを行う場合 true
* @return array カテゴリツリーの配列
*/
public static function sfGetMultiCatTree($product_id, $count_check = false)
{
$objQuery =& SC_Query_Ex::getSingletonInstance();
$col = '';
$col .= ' cat.category_id,';
$col .= ' cat.category_name,';
$col .= ' cat.parent_category_id,';
$col .= ' cat.level,';
$col .= ' cat.rank,';
$col .= ' cat.creator_id,';
$col .= ' cat.create_date,';
$col .= ' cat.update_date,';
$col .= ' cat.del_flg, ';
$col .= ' ttl.product_count';
$from = 'dtb_category as cat left join dtb_category_total_count as ttl on ttl.category_id = cat.category_id';
// 登録商品数のチェック
if ($count_check) {
$where = 'del_flg = 0 AND product_count > 0';
} else {
$where = 'del_flg = 0';
}
$objQuery->setOption('ORDER BY rank DESC');
$arrRet = $objQuery->select($col, $from, $where);
$arrCategory_id = SC_Helper_DB_Ex::sfGetCategoryId($product_id);
$arrCatTree = array();
foreach ($arrCategory_id as $pkey => $parent_category_id) {
$arrParentID = SC_Helper_DB_Ex::sfGetParents('dtb_category', 'parent_category_id', 'category_id', $parent_category_id);
foreach ($arrParentID as $pid) {
foreach ($arrRet as $key => $array) {
if ($array['category_id'] == $pid) {
$arrCatTree[$pkey][] = $arrRet[$key];
break;
}
}
}
}
return $arrCatTree;
}
示例5: lfGetSelectedCategoryId
/**
* 選択中のカテゴリIDを取得する
*
* @return array $arrCategoryId 選択中のカテゴリID
*/
function lfGetSelectedCategoryId($product_id, $category_id)
{
// 選択中のカテゴリIDを判定する
$objDb = new SC_Helper_DB_Ex();
$arrCategoryId = $objDb->sfGetCategoryId($product_id, $category_id);
return $arrCategoryId;
}
示例6: lfGetCategoryId
/**
* カテゴリIDの取得
*
* @return integer カテゴリID
*/
function lfGetCategoryId($category_id)
{
// 指定なしの場合、0 を返す
if (empty($category_id)) {
return 0;
}
// 正当性チェック
if (!SC_Utils_Ex::sfIsInt($category_id) || SC_Utils_Ex::sfIsZeroFilling($category_id) || !SC_Helper_DB_Ex::sfIsRecord('dtb_category', 'category_id', (array) $category_id, 'del_flg = 0')) {
SC_Utils_Ex::sfDispSiteError(CATEGORY_NOT_FOUND);
}
// 指定されたカテゴリIDを元に正しいカテゴリIDを取得する。
$arrCategory_id = SC_Helper_DB_Ex::sfGetCategoryId('', $category_id);
if (empty($arrCategory_id)) {
SC_Utils_Ex::sfDispSiteError(CATEGORY_NOT_FOUND);
}
return $arrCategory_id[0];
}
示例7: lfGetCategories
/**
* 選択されたカテゴリーとその子カテゴリーの情報を取得し、
* ページオブジェクトに格納する。
*
* @param string $category_id カテゴリーID
* @param boolean $count_check 有効な商品がないカテゴリーを除くかどうか
* @param object &$objPage ページオブジェクト
* @return void
*/
function lfGetCategories($category_id, $count_check = false, &$objPage)
{
$objDb = new SC_Helper_DB_Ex();
// カテゴリーの正しいIDを取得する。
$arrCategory_id = $objDb->sfGetCategoryId('', $category_id);
$category_id = $arrCategory_id[0];
if ($category_id == 0) {
SC_Utils_Ex::sfDispSiteError(CATEGORY_NOT_FOUND, "", false, "", true);
}
$arrCategory = null;
// 選択されたカテゴリー
$arrChildren = array();
// 子カテゴリー
$arrAll = $objDb->sfGetCatTree($category_id, $count_check);
foreach ($arrAll as $category) {
// 選択されたカテゴリーの場合
if ($category['category_id'] == $category_id) {
$arrCategory = $category;
continue;
}
// 関係のないカテゴリーはスキップする。
if ($category['parent_category_id'] != $category_id) {
continue;
}
// 子カテゴリーの場合は、孫カテゴリーが存在するかどうかを調べる。
$arrGrandchildrenID = SC_Utils_Ex::sfGetUnderChildrenArray($arrAll, 'parent_category_id', 'category_id', $category['category_id']);
$category['has_children'] = count($arrGrandchildrenID) > 0;
$arrChildren[] = $category;
}
if (!isset($arrCategory)) {
SC_Utils_Ex::sfDispSiteError(CATEGORY_NOT_FOUND, "", false, "", true);
}
// 子カテゴリーの商品数を合計する。
$children_product_count = 0;
foreach ($arrChildren as $category) {
$children_product_count += $category['product_count'];
}
// 選択されたカテゴリーに直属の商品がある場合は、子カテゴリーの先頭に追加する。
if ($arrCategory['product_count'] > $children_product_count) {
$arrCategory['product_count'] -= $children_product_count;
// 子カテゴリーの商品数を除く。
$arrCategory['has_children'] = false;
// 商品一覧ページに遷移させるため。
array_unshift($arrChildren, $arrCategory);
}
// 結果を格納する。
$objPage->arrCategory = $arrCategory;
$objPage->arrChildren = $arrChildren;
}
示例8: process
//.........这里部分代码省略.........
//削除
$objQuery->delete($table, $where, $arrval);
//追加
lfRegistReadingData($tmp_id, $objCustomer->getValue('customer_id'));
}
*/
}
// 規格選択セレクトボックスの作成
$this->lfMakeSelect($tmp_id);
// 商品IDをFORM内に保持する。
$this->tpl_product_id = $tmp_id;
if (!isset($_POST['mode'])) {
$_POST['mode'] = "";
}
switch ($_POST['mode']) {
case 'cart':
// 入力値の変換
$this->objFormParam->convParam();
$this->arrErr = $this->lfCheckError();
if (count($this->arrErr) == 0) {
$objCartSess = new SC_CartSession();
$classcategory_id1 = $_POST['classcategory_id1'];
$classcategory_id2 = $_POST['classcategory_id2'];
if (!empty($_POST['gmo_oneclick'])) {
$objCartSess->delAllProducts();
}
// 規格1が設定されていない場合
if (!$this->tpl_classcat_find1) {
$classcategory_id1 = '0';
}
// 規格2が設定されていない場合
if (!$this->tpl_classcat_find2) {
$classcategory_id2 = '0';
}
$objCartSess->setPrevURL($_SERVER['REQUEST_URI']);
$objCartSess->addProduct(array($_POST['product_id'], $classcategory_id1, $classcategory_id2), $this->objFormParam->getValue('quantity'));
if (!empty($_POST['gmo_oneclick'])) {
$objSiteSess = new SC_SiteSession();
$objSiteSess->setRegistFlag();
$objCartSess->saveCurrentCart($objSiteSess->getUniqId());
$this->sendRedirect($this->getLocation(URL_DIR . 'user_data/gmopg_oneclick_confirm.php', array(), true));
exit;
}
$this->sendRedirect($this->getLocation(URL_CART_TOP));
exit;
}
break;
default:
break;
}
$objQuery = new SC_Query();
// DBから商品情報を取得する。
$arrRet = $objQuery->select("*, (SELECT count(*) FROM dtb_customer_favorite_products WHERE product_id = alldtl.product_id AND customer_id = ?) AS favorite_count", "vw_products_allclass_detail AS alldtl", "product_id = ?", array($objCustomer->getValue('customer_id'), $tmp_id));
$this->arrProduct = $arrRet[0];
// 商品コードの取得
$code_sql = "SELECT product_code FROM dtb_products_class AS prdcls WHERE prdcls.product_id = ? GROUP BY product_code ORDER BY product_code";
$arrProductCode = $objQuery->getall($code_sql, array($tmp_id));
$arrProductCode = SC_Utils_Ex::sfswaparray($arrProductCode);
$this->arrProductCode = $arrProductCode["product_code"];
// 購入制限数を取得
if ($this->arrProduct['sale_unlimited'] == 1 || $this->arrProduct['sale_limit'] > SALE_LIMIT_MAX) {
$this->tpl_sale_limit = SALE_LIMIT_MAX;
} else {
$this->tpl_sale_limit = $this->arrProduct['sale_limit'];
}
// サブタイトルを取得
$arrCategory_id = $objDb->sfGetCategoryId($arrRet[0]['product_id'], '', $status);
$arrFirstCat = $objDb->sfGetFirstCat($arrCategory_id[0]);
$this->tpl_subtitle = $arrFirstCat['name'];
// 関連カテゴリを取得
$this->arrRelativeCat = $objDb->sfGetMultiCatTree($tmp_id);
// DBからのデータを引き継ぐ
$this->objUpFile->setDBFileList($this->arrProduct);
// ファイル表示用配列を渡す
$this->arrFile = $this->objUpFile->getFormFileList(IMAGE_TEMP_URL, IMAGE_SAVE_URL, true);
// 支払方法の取得
$this->arrPayment = $this->lfGetPayment();
// 入力情報を渡す
$this->arrForm = $this->objFormParam->getFormParamList();
//レビュー情報の取得
$this->arrReview = $this->lfGetReviewData($tmp_id);
// トラックバック情報の取得
// トラックバック機能の稼働状況チェック
if (SC_Utils_Ex::sfGetSiteControlFlg(SITE_CONTROL_TRACKBACK) != 1) {
$this->arrTrackbackView = "OFF";
} else {
$this->arrTrackbackView = "ON";
$this->arrTrackback = $this->lfGetTrackbackData($tmp_id);
}
$this->trackback_url = TRACKBACK_TO_URL . $tmp_id;
// タイトルに商品名を入れる
$this->tpl_title = "商品詳細 " . $this->arrProduct["name"];
//オススメ商品情報表示
$this->arrRecommend = $this->lfPreGetRecommendProducts($tmp_id);
//この商品を買った人はこんな商品も買っています
$this->arrRelateProducts = $this->lfGetRelateProducts($tmp_id);
$this->lfConvertParam();
$objView->assignobj($this);
$objView->display(SITE_FRAME);
}
示例9: process
//.........这里部分代码省略.........
}
$arrval[] = $element;
}
}
if ($tmp_where != "") {
$tmp_where .= ")";
$where .= " {$tmp_where}";
$view_where .= " {$tmp_where}";
}
break;
default:
break;
}
}
$order = "update_date DESC, product_id DESC";
$objQuery = new SC_Query();
switch ($_POST['mode']) {
case 'csv':
require_once CLASS_EX_PATH . "helper_extends/SC_Helper_CSV_Ex.php";
$objCSV = new SC_Helper_CSV_Ex();
// オプションの指定
$option = "ORDER BY {$order}";
// CSV出力タイトル行の作成
$arrOutput = SC_Utils_Ex::sfSwapArray($objCSV->sfgetCsvOutput(1, " WHERE csv_id = 1 AND status = 1"));
if (count($arrOutput) <= 0) {
break;
}
$arrOutputCols = $arrOutput['col'];
$arrOutputTitle = $arrOutput['disp_name'];
$head = SC_Utils_Ex::sfGetCSVList($arrOutputTitle);
$data = $objCSV->lfGetProductsCSV($where, $option, $arrval, $arrOutputCols);
// CSVを送信する。
SC_Utils_Ex::sfCSVDownload($head . $data);
exit;
break;
case 'delete_all':
// 検索結果の取得
$col = "product_id";
$from = "vw_products_nonclass AS noncls ";
$arrProducts = $objQuery->select($col, $from, $where, $arrval);
// 検索結果をすべて削除
$sqlval['del_flg'] = 1;
$where = "product_id = ?";
if (count($arrProducts) > 0) {
foreach ($arrProducts as $key => $val) {
$objQuery->update("dtb_products", $sqlval, $where, array($arrProducts[$key]["product_id"]));
}
}
break;
default:
// 読み込む列とテーブルの指定
$col = "product_id, name, category_id, main_list_image, status, product_code, price01, price02, stock, stock_unlimited";
$from = "vw_products_nonclass AS noncls ";
// 行数の取得
$linemax = $objQuery->count("dtb_products", $view_where, $arrval);
$this->tpl_linemax = $linemax;
// 何件が該当しました。表示用
// ページ送りの処理
if (is_numeric($_POST['search_page_max'])) {
$page_max = $_POST['search_page_max'];
} else {
$page_max = SEARCH_PMAX;
}
// ページ送りの取得
$objNavi = new SC_PageNavi($this->arrHidden['search_pageno'], $linemax, $page_max, "fnNaviSearchPage", NAVI_PMAX);
$startno = $objNavi->start_row;
$this->arrPagenavi = $objNavi->arrPagenavi;
//キャンペーン商品検索時は、全結果の商品IDを変数に格納する
if (isset($_POST['search_mode']) && $_POST['search_mode'] == 'campaign') {
$arrRet = $objQuery->select($col, $from, $where, $arrval);
if (count($arrRet) > 0) {
$arrRet = sfSwapArray($arrRet);
$pid = implode("-", $arrRet['product_id']);
$this->arrHidden['campaign_product_id'] = $pid;
}
}
// 取得範囲の指定(開始行番号、行数のセット)
// if(DB_TYPE != "mysql") $objQuery->setlimitoffset($page_max, $startno);
$objQuery->setlimitoffset($page_max, $startno);
// 表示順序
$objQuery->setorder($order);
// 検索結果の取得
$this->arrProducts = $objQuery->select($col, $from, $where, $arrval);
// 各商品ごとのカテゴリIDを取得
if (count($this->arrProducts) > 0) {
foreach ($this->arrProducts as $key => $val) {
$this->arrProducts[$key]["categories"] = $objDb->sfGetCategoryId($val["product_id"]);
$objDb->g_category_on = false;
}
}
}
}
}
// カテゴリの読込
list($this->arrCatKey, $this->arrCatVal) = $objDb->sfGetLevelCatList(false);
$this->arrCatList = $this->lfGetIDName($this->arrCatKey, $this->arrCatVal);
// 画面の表示
$objView->assignobj($this);
$objView->display(MAIN_FRAME);
}
示例10: mobileProcess
/**
* Page のプロセス(モバイル).
*
* FIXME スパゲッティ...
*
* @return void
*/
function mobileProcess()
{
$objView = new SC_MobileView();
$conn = new SC_DBConn();
$objDb = new SC_Helper_DB_Ex();
//表示件数の選択
if (isset($_REQUEST['disp_number']) && SC_Utils_Ex::sfIsInt($_REQUEST['disp_number'])) {
$this->disp_number = $_REQUEST['disp_number'];
} else {
//最小表示件数を選択
$this->disp_number = current(array_keys($this->arrPRODUCTLISTMAX));
}
//表示順序の保存
$this->orderby = isset($_REQUEST['orderby']) ? $_REQUEST['orderby'] : "";
// GETのカテゴリIDを元に正しいカテゴリIDを取得する。
$arrCategory_id = $objDb->sfGetCategoryId("", $_GET['category_id']);
// タイトル編集
$tpl_subtitle = "";
$tpl_search_mode = false;
if (!isset($_GET['mode'])) {
$_GET['mode'] = "";
}
if (!isset($_POST['mode'])) {
$_POST['mode'] = "";
}
if (!isset($_GET['name'])) {
$_GET['name'] = "";
}
if (!isset($_REQUEST['orderby'])) {
$_REQUEST['orderby'] = "";
}
if (empty($arrCategory_id)) {
$arrCategory_id = array("0");
}
if ($_GET['mode'] == 'search') {
$tpl_subtitle = "検索結果";
$tpl_search_mode = true;
} elseif (empty($arrCategory_id)) {
$tpl_subtitle = "全商品";
} else {
$arrFirstCat = $objDb->sfGetFirstCat($arrCategory_id[0]);
$tpl_subtitle = $arrFirstCat['name'];
}
$objQuery = new SC_Query();
$count = $objQuery->count("dtb_best_products", "category_id = ?", $arrCategory_id);
// 以下の条件でBEST商品を表示する
// ・BEST最大数の商品が登録されている。
// ・カテゴリIDがルートIDである。
// ・検索モードでない。
if ($count >= BEST_MIN && $this->lfIsRootCategory($arrCategory_id[0]) && $_GET['mode'] != 'search') {
// 商品TOPの表示処理
$this->arrBestItems = SC_Utils_Ex::sfGetBestProducts($conn, $arrCategory_id[0]);
$this->BEST_ROOP_MAX = ceil((BEST_MAX - 1) / 2);
} else {
if ($_GET['mode'] == 'search' && strlen($_GET['category_id']) == 0) {
// 検索時にcategory_idがGETに存在しない場合は、仮に埋めたIDを空白に戻す
$arrCategory_id = array("");
}
// 商品一覧の表示処理
$this->lfDispProductsList($arrCategory_id[0], $_GET['name'], $this->disp_number, $_REQUEST['orderby']);
// 検索条件を画面に表示
// カテゴリー検索条件
if (strlen($_GET['category_id']) == 0) {
$arrSearch['category'] = "指定なし";
} else {
$arrCat = $conn->getOne("SELECT category_name FROM dtb_category WHERE category_id = ?", array($category_id));
$arrSearch['category'] = $arrCat;
}
// 商品名検索条件
if ($_GET['name'] === "") {
$arrSearch['name'] = "指定なし";
} else {
$arrSearch['name'] = $_GET['name'];
}
}
if ($_POST['mode'] == "cart" && $_POST['product_id'] != "") {
// 値の正当性チェック
if (!SC_Utils_Ex::sfIsInt($_POST['product_id']) || !SC_Utils_Ex::sfIsRecord("dtb_products", "product_id", $_POST['product_id'], "del_flg = 0 AND status = 1")) {
SC_Utils_Ex::sfDispSiteError(PRODUCT_NOT_FOUND, "", false, "", true);
} else {
// 入力値の変換
$this->arrErr = $this->lfCheckError($_POST['product_id']);
if (count($this->arrErr) == 0) {
$objCartSess = new SC_CartSession();
$classcategory_id = "classcategory_id" . $_POST['product_id'];
$classcategory_id1 = $_POST[$classcategory_id . '_1'];
$classcategory_id2 = $_POST[$classcategory_id . '_2'];
$quantity = "quantity" . $_POST['product_id'];
// 規格1が設定されていない場合
if (!$this->tpl_classcat_find1[$_POST['product_id']]) {
$classcategory_id1 = '0';
}
// 規格2が設定されていない場合
//.........这里部分代码省略.........
示例11: getBreadcrumbByCategoryId
function getBreadcrumbByCategoryId($category_id)
{
$arrBreadcrumb = array();
// 正当性チェック
if (!SC_Utils_Ex::sfIsInt($category_id) || SC_Utils_Ex::sfIsZeroFilling($category_id) || !SC_Helper_DB_Ex::sfIsRecord('dtb_category', 'category_id', (array) $category_id, 'del_flg = 0')) {
$this->current_name = '全商品';
return array();
}
// 指定されたカテゴリIDを元に正しいカテゴリIDを取得する。
$arrCategory_id = SC_Helper_DB_Ex::sfGetCategoryId('', $category_id);
if (empty($arrCategory_id)) {
$this->current_name = '全商品';
return array();
}
// 商品が属するカテゴリIDを縦に取得
$objDb = new SC_Helper_DB_Ex();
$arrCatID = $objDb->sfGetParents("dtb_category", "parent_category_id", "category_id", $arrCategory_id[0]);
$objQuery = new SC_Query();
$index_no = 0;
foreach ($arrCatID as $val) {
// カテゴリー名称を取得
$sql = "SELECT category_name FROM dtb_category WHERE category_id = ?";
$arrVal = array($val);
$CatName = $objQuery->getOne($sql, $arrVal);
if ($val != $category_id) {
$arrBreadcrumb[$index_no]['category_name'] = $CatName;
$arrBreadcrumb[$index_no]['category_id'] = $val;
} else {
$this->current_name = $CatName;
}
$index_no++;
}
return $arrBreadcrumb;
}