本文整理汇总了PHP中SC_Helper_DB_Ex::sfCategory_Count方法的典型用法代码示例。如果您正苦于以下问题:PHP SC_Helper_DB_Ex::sfCategory_Count方法的具体用法?PHP SC_Helper_DB_Ex::sfCategory_Count怎么用?PHP SC_Helper_DB_Ex::sfCategory_Count使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SC_Helper_DB_Ex
的用法示例。
在下文中一共展示了SC_Helper_DB_Ex::sfCategory_Count方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: process
/**
* Page のプロセス.
*
* @return void
*/
function process()
{
$objView = new SC_AdminView();
$objSiteInfo = new SC_SiteInfo();
$objQuery = new SC_Query();
$objDb = new SC_Helper_DB_Ex();
// 認証可否の判定
$objSess = new SC_Session();
SC_Utils_Ex::sfIsSuccess($objSess);
// ファイル管理クラス
$this->objUpFile = new SC_UploadFile(IMAGE_TEMP_DIR, IMAGE_SAVE_DIR);
// ファイル情報の初期化
$this->lfInitFile();
// Hiddenからのデータを引き継ぐ
$this->objUpFile->setHiddenFileList($_POST);
// 規格の有り無し判定
$this->tpl_nonclass = $this->lfCheckNonClass($_POST['product_id']);
// 検索パラメータの引き継ぎ
foreach ($_POST as $key => $val) {
if (ereg("^search_", $key)) {
$this->arrSearchHidden[$key] = $val;
}
}
// FORMデータの引き継ぎ
$this->arrForm = $_POST;
if (!isset($_POST['mode'])) {
$_POST['mode'] = "";
}
switch ($_POST['mode']) {
// 検索画面からの編集
case 'pre_edit':
case 'copy':
// 編集時
if (SC_Utils_Ex::sfIsInt($_POST['product_id'])) {
// DBから商品情報の読込
$arrForm = $this->lfGetProduct($_POST['product_id']);
// DBデータから画像ファイル名の読込
$this->objUpFile->setDBFileList($arrForm);
if ($_POST['mode'] == "copy") {
$arrForm["copy_product_id"] = $arrForm["product_id"];
$arrForm["product_id"] = "";
// 画像ファイルのコピー
$arrKey = $this->objUpFile->keyname;
$arrSaveFile = $this->objUpFile->save_file;
foreach ($arrSaveFile as $key => $val) {
$this->lfMakeScaleImage($arrKey[$key], $arrKey[$key], true);
}
}
$this->arrForm = $arrForm;
// 商品ステータスの変換
$arrRet = SC_Utils_Ex::sfSplitCBValue($this->arrForm['product_flag'], "product_flag");
$this->arrForm = array_merge($this->arrForm, $arrRet);
// DBからおすすめ商品の読み込み
$this->arrRecommend = $this->lfPreGetRecommendProducts($_POST['product_id']);
$this->lfProductPage();
// 商品登録ページ
}
break;
// 商品登録・編集
// 商品登録・編集
case 'edit':
if ($_POST['product_id'] == "" and SC_Utils_Ex::sfIsInt($_POST['copy_product_id'])) {
$this->tpl_nonclass = $this->lfCheckNonClass($_POST['copy_product_id']);
}
// 入力値の変換
$this->arrForm = $this->lfConvertParam($this->arrForm);
// エラーチェック
$this->arrErr = $this->lfErrorCheck($this->arrForm);
// ファイル存在チェック
$this->arrErr = array_merge((array) $this->arrErr, (array) $this->objUpFile->checkEXISTS());
// エラーなしの場合
if (count($this->arrErr) == 0) {
$this->lfProductConfirmPage();
// 確認ページ
} else {
$this->lfProductPage();
// 商品登録ページ
}
break;
// 確認ページから完了ページへ
// 確認ページから完了ページへ
case 'complete':
$this->tpl_mainpage = 'products/complete.tpl';
$this->arrForm['product_id'] = $this->lfRegistProduct($_POST);
// データ登録
// 件数カウントバッチ実行
$objDb->sfCategory_Count($objQuery);
// 一時ファイルを本番ディレクトリに移動する
$this->objUpFile->moveTempFile();
break;
// 画像のアップロード
// 画像のアップロード
case 'upload_image':
// ファイル存在チェック
$this->arrErr = array_merge((array) $this->arrErr, (array) $this->objUpFile->checkEXISTS($_POST['image_key']));
//.........这里部分代码省略.........
示例2: process
//.........这里部分代码省略.........
$_POST['mode'] = "";
}
switch ($_POST['mode']) {
case 'csv_upload':
$err = false;
// エラーチェック
$arrErr['csv_file'] = $this->objUpFile->makeTempFile('csv_file');
if ($arrErr['css_file'] == "") {
$arrErr = $this->objUpFile->checkEXISTS();
}
// 実行時間を制限しない
set_time_limit(0);
// 出力をバッファリングしない(==日本語自動変換もしない)
ob_end_clean();
// IEのために256バイト空文字出力
echo str_pad('', 256);
if (empty($arrErr['csv_file'])) {
// 一時ファイル名の取得
$filepath = $this->objUpFile->getTempFilePath('csv_file');
// エンコード
$enc_filepath = SC_Utils_Ex::sfEncodeFile($filepath, CHAR_CODE, CSV_TEMP_DIR);
// レコード数を得る
$rec_count = $this->lfCSVRecordCount($enc_filepath);
$fp = fopen($enc_filepath, "r");
$line = 0;
// 行数
$regist = 0;
// 登録数
$objQuery = new SC_Query();
$objQuery->begin();
echo "■ CSV登録進捗状況 <br/><br/>\n";
while (!feof($fp) && !$err) {
$arrCSV = fgetcsv($fp, CSV_LINE_MAX);
// 行カウント
$line++;
if ($line <= 1) {
continue;
}
// 項目数カウント
$max = count($arrCSV);
// 項目数が1以下の場合は無視する
if ($max <= 1) {
continue;
}
// 項目数チェック
if ($max != $colmax) {
echo "※ 項目数が" . $max . "個検出されました。項目数は" . $colmax . "個になります。</br>\n";
$err = true;
} else {
// シーケンス配列を格納する。
$this->objFormParam->setParam($arrCSV, true);
$arrRet = $this->objFormParam->getHashArray();
$this->objFormParam->setParam($arrRet);
// 入力値の変換
$this->objFormParam->convParam();
// <br>なしでエラー取得する。
$arrCSVErr = $this->lfCheckError();
}
// 入力エラーチェック
if (count($arrCSVErr) > 0) {
echo "<font color=\"red\">■" . $line . "行目でエラーが発生しました。</font></br>\n";
foreach ($arrCSVErr as $val) {
$this->printError($val);
}
$err = true;
}
if (!$err) {
$this->lfRegistProduct($objQuery, $line);
$regist++;
}
$arrParam = $this->objFormParam->getHashArray();
if (!$err) {
echo $line . " / " . $rec_count . "行目 (カテゴリID:" . $arrParam['category_id'] . " / カテゴリ名:" . $arrParam['category_name'] . ")\n<br />";
}
flush();
}
fclose($fp);
if (!$err) {
$objQuery->commit();
echo "■" . $regist . "件のレコードを登録しました。";
// カテゴリ件数カウント関数の実行
$objDb->sfCategory_Count($objQuery);
} else {
$objQuery->rollback();
}
} else {
foreach ($arrErr as $val) {
$this->printError($val);
}
}
echo "<br/><a href=\"javascript:window.close()\">→閉じる</a>";
flush();
exit;
break;
default:
break;
}
$objView->assignobj($this);
$objView->display(MAIN_FRAME);
}
示例3: process
/**
* Page のプロセス.
*
* @return void
*/
function process()
{
$objView = new SC_AdminView();
$objDb = new SC_Helper_DB_Ex();
$objDate = new SC_Date();
// 登録・更新検索開始年
$objDate->setStartYear(RELEASE_YEAR);
$objDate->setEndYear(DATE("Y"));
$this->arrStartYear = $objDate->getYear();
$this->arrStartMonth = $objDate->getMonth();
$this->arrStartDay = $objDate->getDay();
// 登録・更新検索終了年
$objDate->setStartYear(RELEASE_YEAR);
$objDate->setEndYear(DATE("Y"));
$this->arrEndYear = $objDate->getYear();
$this->arrEndMonth = $objDate->getMonth();
$this->arrEndDay = $objDate->getDay();
// 認証可否の判定
$objSess = new SC_Session();
SC_Utils_Ex::sfIsSuccess($objSess);
if (!isset($_POST['mode'])) {
$_POST['mode'] = "";
}
//キャンペーンの編集時
if (isset($_POST['campaign_id']) && SC_Utils_Ex::sfIsInt($_POST['campaign_id']) && $_POST['mode'] == "camp_search") {
$objQuery = new SC_Query();
$search_data = $objQuery->get("dtb_campaign", "search_condition", "campaign_id = ? ", array($_POST['campaign_id']));
$arrSearch = unserialize($search_data);
foreach ($arrSearch as $key => $val) {
$_POST[$key] = $val;
}
}
// POST値の引き継ぎ
$this->arrForm = $_POST;
// 検索ワードの引き継ぎ
foreach ($_POST as $key => $val) {
if (ereg("^search_", $key) || ereg("^campaign_", $key)) {
switch ($key) {
case 'search_product_flag':
case 'search_status':
$this->arrHidden[$key] = SC_Utils_Ex::sfMergeParamCheckBoxes($val);
if (!is_array($val)) {
$this->arrForm[$key] = split("-", $val);
}
break;
default:
$this->arrHidden[$key] = $val;
break;
}
}
}
// ページ送り用
$this->arrHidden['search_pageno'] = isset($_POST['search_pageno']) ? $_POST['search_pageno'] : "";
// 商品削除
if ($_POST['mode'] == "delete") {
if ($_POST['category_id'] != "") {
// ランク付きレコードの削除
$where = "category_id = " . SC_Utils_Ex::sfQuoteSmart($_POST['category_id']);
$objDb->sfDeleteRankRecord("dtb_products", "product_id", $_POST['product_id'], $where);
} else {
$objDb->sfDeleteRankRecord("dtb_products", "product_id", $_POST['product_id']);
}
// 子テーブル(商品規格)の削除
$objQuery = new SC_Query();
$objQuery->delete("dtb_products_class", "product_id = ?", array($_POST['product_id']));
// 件数カウントバッチ実行
$objDb->sfCategory_Count($objQuery);
}
if ($_POST['mode'] == "search" || $_POST['mode'] == "csv" || $_POST['mode'] == "delete" || $_POST['mode'] == "delete_all" || $_POST['mode'] == "camp_search") {
// 入力文字の強制変換
$this->lfConvertParam();
// エラーチェック
$this->arrErr = $this->lfCheckError();
$where = "del_flg = 0";
$view_where = "del_flg = 0";
// 入力エラーなし
if (count($this->arrErr) == 0) {
$arrval = array();
foreach ($this->arrForm as $key => $val) {
$val = SC_Utils_Ex::sfManualEscape($val);
if ($val == "") {
continue;
}
switch ($key) {
case 'search_product_id':
// 商品ID
$where .= " AND product_id = ?";
$view_where .= " AND product_id = ?";
$arrval[] = $val;
break;
case 'search_product_class_name':
//規格名称
$where_in = " (SELECT classcategory_id FROM dtb_classcategory WHERE class_id IN (SELECT class_id FROM dtb_class WHERE name LIKE ?)) ";
$where .= " AND product_id IN (SELECT product_id FROM dtb_products_class WHERE classcategory_id1 IN " . $where_in;
$where .= " OR classcategory_id2 IN" . $where_in . ")";
//.........这里部分代码省略.........