本文整理汇总了PHP中SC_Query::get方法的典型用法代码示例。如果您正苦于以下问题:PHP SC_Query::get方法的具体用法?PHP SC_Query::get怎么用?PHP SC_Query::get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SC_Query
的用法示例。
在下文中一共展示了SC_Query::get方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: process
/**
* Page のプロセス.
*
* @return void
*/
function process()
{
$objView = new SC_SiteView(false);
$objQuery = new SC_Query();
// 正しく値が取得できない場合はキャンペーンTOPへ
if ($_GET['campaign_id'] == "" || $_GET['status'] == "") {
$this->sendRedirect($this->getLocation(URL_CAMPAIGN_TOP));
exit;
}
// statusの判別
switch ($_GET['status']) {
case 'active':
$status = CAMPAIGN_TEMPLATE_ACTIVE;
break;
case 'end':
$status = CAMPAIGN_TEMPLATE_END;
break;
default:
$status = CAMPAIGN_TEMPLATE_ACTIVE;
break;
}
// ディレクトリ名を取得名
$directory_name = $objQuery->get("dtb_campaign", "directory_name", "campaign_id = ?", array($_GET['campaign_id']));
$template_dir = CAMPAIGN_TEMPLATE_PATH . $directory_name . "/" . $status . "preview.tpl";
//---- ページ表示
$objView->assignobj($this);
$objView->display($template_dir);
}
示例2: getExtSessionId
/**
* dtb_mobile_ext_session_id テーブルを検索してセッションIDを取得する。
* PCサイトでもモバイルサイトでもこのテーブルを利用する.
*
* @return string|null 取得したセッションIDを返す。
* 取得できなかった場合は null を返す。
*/
function getExtSessionId()
{
if (!preg_match('|^' . URL_DIR . '(.*)$|', $_SERVER['SCRIPT_NAME'], $matches)) {
return null;
}
$url = $matches[1];
$lifetime = $this->state->getLifeTime();
$time = date('Y-m-d H:i:s', time() - $lifetime);
$objQuery = new SC_Query();
foreach ($_REQUEST as $key => $value) {
$session_id = $objQuery->get('dtb_mobile_ext_session_id', 'session_id', 'param_key = ? AND param_value = ? AND url = ? AND create_date >= ?', array($key, $value, $url, $time));
if (isset($session_id)) {
return $session_id;
}
}
return null;
}
示例3: sfIsRecord
/**
* レコードの存在チェックを行う.
*
* @param string $table テーブル名
* @param string $col カラム名
* @param array $arrval 要素の配列
* @param array $addwhere SQL の AND 条件である WHERE 句
* @return bool レコードが存在する場合 true
*/
function sfIsRecord($table, $col, $arrval, $addwhere = "")
{
$objQuery = new SC_Query();
$arrCol = split("[, ]", $col);
$where = "del_flg = 0";
if ($addwhere != "") {
$where .= " AND {$addwhere}";
}
foreach ($arrCol as $val) {
if ($val != "") {
if ($where == "") {
$where = "{$val} = ?";
} else {
$where .= " AND {$val} = ?";
}
}
}
$ret = $objQuery->get($table, $col, $where, $arrval);
if ($ret != "") {
return true;
}
return false;
}
示例4: lfIsRootCategory
function lfIsRootCategory($category_id)
{
$objQuery = new SC_Query();
$level = $objQuery->get("dtb_category", "level", "category_id = ?", array($category_id));
if ($level == 1) {
return true;
}
return false;
}
示例5: sfMoveCatRank
/**
* カテゴリ変更時の移動処理を行う.
*
* ※この関数って、どこからも呼ばれていないのでは??
*
* @param SC_Query $objQuery SC_Query インスタンス
* @param string $table テーブル名
* @param string $id_name ID名
* @param string $cat_name カテゴリ名
* @param integer $old_catid 旧カテゴリID
* @param integer $new_catid 新カテゴリID
* @param integer $id ID
* @return void
*/
public function sfMoveCatRank($objQuery, $table, $id_name, $cat_name, $old_catid, $new_catid, $id)
{
if ($old_catid == $new_catid) {
return;
}
// 旧カテゴリでのランク削除処理
// 移動レコードのランクを取得する。
$sqlval = array();
$where = "{$id_name} = ?";
$rank = $objQuery->get('rank', $table, $where, array($id));
// 削除レコードのランクより上のレコードを一つ下にずらす。
$where = "rank > ? AND {$cat_name} = ?";
$arrWhereVal = array($rank, $old_catid);
$arrRawSql = array('rank' => '(rank - 1)');
$objQuery->update($table, $sqlval, $where, $arrWhereVal, $arrRawSql);
// 新カテゴリでの登録処理
// 新カテゴリの最大ランクを取得する。
$max_rank = $objQuery->max('rank', $table, "{$cat_name} = ?", array($new_catid)) + 1;
$sqlval = array('rank' => $max_rank);
$where = "{$id_name} = ?";
$arrWhereVal = array($id);
$objQuery->update($table, $sqlval, $where, $arrWhereVal);
}
示例6: lfCheckError
function lfCheckError($array)
{
$objErr = new SC_CheckError($array);
$objErr->arrErr = $this->objFormParam->checkError();
// 階層チェック
if (!isset($objErr->arrErr['category_name'])) {
$objQuery = new SC_Query();
$level = $objQuery->get("dtb_category", "level", "category_id = ?", array($_POST['parent_category_id']));
if ($level >= LEVEL_MAX) {
$objErr->arrErr['category_name'] = "※ " . LEVEL_MAX . "階層以上の登録はできません。<br>";
}
}
if (!isset($_POST['category_id'])) {
$_POST['category_id'] = "";
}
//
// 重複チェック
if (!isset($objErr->arrErr['category_name'])) {
$objQuery = new SC_Query();
$where = "parent_category_id = ? AND category_name = ?";
$arrRet = $objQuery->select("category_id, category_name", "dtb_category", $where, array($_POST['parent_category_id'], $array['category_name']));
if (empty($arrRet)) {
$arrRet = array(array("category_id" => "", "category_name" => ""));
}
// 編集中のレコード以外に同じ名称が存在する場合
if ($arrRet[0]['category_id'] != $_POST['category_id'] && $arrRet[0]['category_name'] == $_POST['category_name']) {
$objErr->arrErr['category_name'] = "※ 既に同じ内容の登録が存在します。<br>";
}
}
return $objErr->arrErr;
}
示例7: sfMoveCatRank
/**
* カテゴリ変更時の移動処理を行う.
*
* @param SC_Query $objQuery SC_Query インスタンス
* @param string $table テーブル名
* @param string $id_name ID名
* @param string $cat_name カテゴリ名
* @param integer $old_catid 旧カテゴリID
* @param integer $new_catid 新カテゴリID
* @param integer $id ID
* @return void
*/
function sfMoveCatRank($objQuery, $table, $id_name, $cat_name, $old_catid, $new_catid, $id)
{
if ($old_catid == $new_catid) {
return;
}
// 旧カテゴリでのランク削除処理
// 移動レコードのランクを取得する。
$where = "{$id_name} = ?";
$rank = $objQuery->get('rank', $table, $where, array($id));
// 削除レコードのランクより上のレコードを一つ下にずらす。
$where = "rank > ? AND {$cat_name} = ?";
$sqlup = "UPDATE {$table} SET rank = (rank - 1) WHERE {$where}";
$objQuery->exec($sqlup, array($rank, $old_catid));
// 新カテゴリでの登録処理
// 新カテゴリの最大ランクを取得する。
$max_rank = $objQuery->max('rank', $table, "{$cat_name} = ?", array($new_catid)) + 1;
$where = "{$id_name} = ?";
$sqlup = "UPDATE {$table} SET rank = ? WHERE {$where}";
$objQuery->exec($sqlup, array($max_rank, $id));
}
示例8: lfDispComplete
function lfDispComplete($objPage)
{
global $objWebParam;
global $objDBParam;
// hiddenに入力値を保持
$objPage->arrHidden = $objWebParam->getHashArray();
// hiddenに入力値を保持
$objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray());
$arrDsn = getArrayDsn($objDBParam);
$sqlval['id'] = 1;
$sqlval['shop_name'] = $objWebParam->getValue('shop_name');
$sqlval['email01'] = $objWebParam->getValue('admin_mail');
$sqlval['email02'] = $objWebParam->getValue('admin_mail');
$sqlval['email03'] = $objWebParam->getValue('admin_mail');
$sqlval['email04'] = $objWebParam->getValue('admin_mail');
$sqlval['email05'] = $objWebParam->getValue('admin_mail');
$sqlval['top_tpl'] = 'default1';
$sqlval['product_tpl'] = 'default1';
$sqlval['detail_tpl'] = 'default1';
$sqlval['mypage_tpl'] = 'default1';
$sqlval['update_date'] = 'CURRENT_TIMESTAMP';
$objQuery = new SC_Query($arrDsn);
$cnt = $objQuery->count('dtb_baseinfo');
if ($cnt > 0) {
$objQuery->update('dtb_baseinfo', $sqlval);
} else {
$objQuery->insert('dtb_baseinfo', $sqlval);
}
// 管理者登録
$login_id = $objWebParam->getValue('login_id');
$salt = SC_Utils_Ex::sfGetRandomString(10);
$login_pass = SC_Utils_Ex::sfGetHashString($objWebParam->getValue('login_pass'), $salt);
$arrVal = array('login_id' => $login_id, 'password' => $login_pass, 'salt' => $salt, 'work' => 1, 'del_flg' => 0, 'update_date' => 'CURRENT_TIMESTAMP');
$member_id = $objQuery->get('member_id', 'dtb_member', 'login_id = ? AND del_flg = 0', array($login_id));
if (strlen($member_id) == 0) {
$member_id = $objQuery->nextVal('dtb_member_member_id');
$arrVal['member_id'] = $member_id;
$arrVal['name'] = '管理者';
$arrVal['creator_id'] = 0;
$arrVal['authority'] = 0;
$arrVal['rank'] = 1;
$objQuery->insert('dtb_member', $arrVal);
} else {
$objQuery->update('dtb_member', $arrVal, 'member_id = ?', array($member_id));
}
$objPage->arrHidden['db_skip'] = $_POST['db_skip'];
$objPage->tpl_mainpage = 'complete.tpl';
$objPage->tpl_mode = 'complete';
$secure_url = $objWebParam->getValue('secure_url');
// 語尾に'/'をつける
$secure_url = rtrim($secure_url, '/') . '/';
$objPage->tpl_sslurl = $secure_url;
//EC-CUBEオフィシャルサイトからのお知らせURL
$objPage->install_info_url = INSTALL_INFO_URL;
return $objPage;
}
示例9: array
/**
* dtb_moduleのsub_dataを取得する.
*
* @access private
* @param booean $force
* @return mixed|null
*/
function _getSubData($force = false)
{
if (isset($this->subData)) {
return $this->subData;
}
$moduleCode = $this->getCode();
$objQuery = new SC_Query();
$ret = $objQuery->get('dtb_module', 'sub_data', 'module_code = ?', array($moduleCode));
if (isset($ret)) {
$this->subData = unserialize($ret);
return $this->subData;
}
return null;
}
示例10: renumberRank
/**
* ランキングの振り直し.
*
* @param SC_Query $objQuery
* @param integer $id 削除対象のmember_id
* @return void|UPDATE の結果フラグ
*/
public function renumberRank(&$objQuery, $id)
{
// ランクの取得
$where1 = 'member_id = ?';
$rank = $objQuery->get('rank', 'dtb_member', $where1, array($id));
// Updateする値を作成する.
$where2 = 'rank > ? AND del_flg <> 1';
// UPDATEの実行 - 削除したレコードより上のランキングを下げてRANKの空きを埋める。
return $objQuery->update('dtb_member', array(), $where2, array($rank), array('rank' => 'rank-1'));
}
示例11: sfGetProductClassId
function sfGetProductClassId($product_id, $classcategory_id1, $classcategory_id2)
{
$where = "product_id = ? AND classcategory_id1 = ? AND classcategory_id2 = ?";
$objQuery = new SC_Query();
$ret = $objQuery->get("dtb_products_class", "product_class_id", $where, array($product_id, $classcategory_id1, $classcategory_id2));
return $ret;
}
示例12: lfGetTotalCustomerPoint
function lfGetTotalCustomerPoint()
{
$objQuery = new SC_Query();
$col = "SUM(point)";
$where = "del_flg = 0";
$from = "dtb_customer";
$ret = $objQuery->get($from, $col, $where);
return $ret;
}
示例13: process
/**
* Page のプロセス.
*
* @return void
*/
function process()
{
$objView = new SC_AdminView();
$objQuery = new SC_Query();
// 認証可否の判定
$objSess = new SC_Session();
SC_Utils_Ex::sfIsSuccess($objSess);
// キャンペーンデータを引き継ぎ
if ($_POST['mode'] != "") {
$arrForm = $_POST;
} else {
$arrForm = $_GET;
}
// 正しく値が取得できない場合はキャンペーンTOPへ
if ($arrForm['campaign_id'] == "" || $arrForm['status'] == "") {
$this->sendRedirect($this->getLocation(URL_CAMPAIGN_TOP));
exit;
}
switch ($arrForm['status']) {
case 'active':
$status = CAMPAIGN_TEMPLATE_ACTIVE;
$this->tpl_campaign_title = "キャンペーン中デザイン編集";
break;
case 'end':
$status = CAMPAIGN_TEMPLATE_END;
$this->tpl_campaign_title = "キャンペーン終了デザイン編集";
break;
default:
break;
}
// ディレクトリ名を取得名
$directory_name = $objQuery->get("dtb_campaign", "directory_name", "campaign_id = ?", array($arrForm['campaign_id']));
// キャンペーンテンプレート格納ディレクトリ
$campaign_dir = CAMPAIGN_TEMPLATE_PATH . $directory_name . "/" . $status;
switch ($_POST['mode']) {
case 'regist':
// ファイルを更新
SC_Utils_Ex::sfWriteFile($arrForm['header'], $campaign_dir . "header.tpl", "w");
SC_Utils_Ex::sfWriteFile($arrForm['contents'], $campaign_dir . "contents.tpl", "w");
SC_Utils_Ex::sfWriteFile($arrForm['footer'], $campaign_dir . "footer.tpl", "w");
// サイトフレーム作成
$site_frame = $arrForm['header'] . "\n";
$site_frame .= '<script type="text/javascript" src="<!--{$TPL_DIR}-->js/site.js"></script>' . "\n";
$site_frame .= '<script type="text/javascript" src="<!--{$TPL_DIR}-->js/navi.js"></script>' . "\n";
$site_frame .= '<!--{include file=$tpl_mainpage}-->' . "\n";
$site_frame .= $arrForm['footer'] . "\n";
SC_Utils_Ex::sfWriteFile($site_frame, $campaign_dir . "site_frame.tpl", "w");
// 完了メッセージ(プレビュー時は表示しない)
$this->tpl_onload = "alert('登録が完了しました。');";
break;
case 'preview':
// プレビューを書き出し別窓で開く
SC_Utils_Ex::sfWriteFile($arrForm['header'] . $arrForm['contents'] . $arrForm['footer'], $campaign_dir . "preview.tpl", "w");
$this->tpl_onload = "win02('./campaign_preview.php?status=" . $arrForm['status'] . "&campaign_id=" . $arrForm['campaign_id'] . "', 'preview', '600', '400');";
$this->header_data = $arrForm['header'];
$this->contents_data = $arrForm['contents'];
$this->footer_data = $arrForm['footer'];
break;
case 'return':
// 登録ページへ戻る
$this->sendRedirect($this->getLocation(URL_CAMPAIGN_TOP));
exit;
break;
default:
break;
}
if ($arrForm['header_row'] != '') {
$this->header_row = $arrForm['header_row'];
}
if ($arrForm['contents_row'] != '') {
$this->contents_row = $arrForm['contents_row'];
}
if ($arrForm['footer_row'] != '') {
$this->footer_row = $arrForm['footer_row'];
}
if ($_POST['mode'] != 'preview') {
// ヘッダーファイルの読み込み
$this->header_data = file_get_contents($campaign_dir . "header.tpl");
// コンテンツファイルの読み込み
$this->contents_data = file_get_contents($campaign_dir . "contents.tpl");
// フッターファイルの読み込み
$this->footer_data = file_get_contents($campaign_dir . "footer.tpl");
}
// フォームの値を格納
$this->arrForm = $arrForm;
// 画面の表示
$objView->assignobj($this);
$objView->display(MAIN_FRAME);
}
示例14: process
/**
* Page のプロセス.
*
* @return void
*/
function process()
{
global $objCampaignSess;
$objView = new SC_SiteView();
$objCartSess = new SC_CartSession();
$objSiteInfo = $objView->objSiteInfo;
$objSiteSess = new SC_SiteSession();
$objCampaignSess = new SC_CampaignSession();
$objCustomer = new SC_Customer();
$arrInfo = $objSiteInfo->data;
$objQuery = new SC_Query();
$objDb = new SC_Helper_DB_Ex();
// 前のページで正しく登録手続きが行われた記録があるか判定
SC_Utils_Ex::sfIsPrePage($objSiteSess);
// ユーザユニークIDの取得と購入状態の正当性をチェック
$uniqid = SC_Utils_Ex::sfCheckNormalAccess($objSiteSess, $objCartSess);
$this->tpl_uniqid = $uniqid;
// カート集計処理
$objDb->sfTotalCart($this, $objCartSess, $arrInfo);
// 一時受注テーブルの読込
$arrData = $objDb->sfGetOrderTemp($uniqid);
// カート集計を元に最終計算
$arrData = $objDb->sfTotalConfirm($arrData, $this, $objCartSess, $arrInfo, $objCustomer, $objCampaignSess);
// キャンペーンからの遷移で送料が無料だった場合の処理
if ($objCampaignSess->getIsCampaign()) {
$deliv_free_flg = $objQuery->get("dtb_campaign", "deliv_free_flg", "campaign_id = ?", array($objCampaignSess->getCampaignId()));
// 送料無料が設定されていた場合
if ($deliv_free_flg) {
$arrData['payment_total'] -= $arrData['deliv_fee'];
$arrData['deliv_fee'] = 0;
}
}
// カート内の商品の売り切れチェック
$objCartSess->chkSoldOut($objCartSess->getCartList());
// 会員ログインチェック
if ($objCustomer->isLoginSuccess()) {
$this->tpl_login = '1';
$this->tpl_user_point = $objCustomer->getValue('point');
}
// 決済区分を取得する
$payment_type = "";
if ($objDb->sfColumnExists("dtb_payment", "memo01")) {
// MEMO03に値が入っている場合には、モジュール追加されたものとみなす
$sql = "SELECT memo03 FROM dtb_payment WHERE payment_id = ?";
$arrPayment = $objQuery->getall($sql, array($arrData['payment_id']));
$payment_type = $arrPayment[0]["memo03"];
}
$this->payment_type = $payment_type;
if (!isset($_POST['mode'])) {
$_POST['mode'] = "";
}
switch ($_POST['mode']) {
// 前のページに戻る
case 'return':
// 正常な推移であることを記録しておく
$objSiteSess->setRegistFlag();
$this->sendRedirect($this->getLocation(URL_SHOP_PAYMENT));
exit;
break;
case 'confirm':
// この時点で注文番号を確保しておく(クレジット、コンビニ決済で必要なため)
// postgresqlとmysqlとで処理を分ける
if (DB_TYPE == "pgsql") {
$order_id = $objQuery->nextval("dtb_order", "order_id");
} elseif (DB_TYPE == "mysql") {
$order_id = $objQuery->get_auto_increment("dtb_order");
}
$arrData["order_id"] = $order_id;
// セッション情報を保持
$arrData['session'] = serialize($_SESSION);
// 集計結果を受注一時テーブルに反映
$objDb->sfRegistTempOrder($uniqid, $arrData);
// 正常に登録されたことを記録しておく
$objSiteSess->setRegistFlag();
// 決済方法により画面切替
if ($payment_type != "") {
// TODO 決済方法のモジュールは Plugin として実装したい
$_SESSION["payment_id"] = $arrData['payment_id'];
$this->sendRedirect($this->getLocation(URL_SHOP_MODULE));
} else {
$this->sendRedirect($this->getLocation(URL_SHOP_COMPLETE));
}
exit;
break;
default:
break;
}
$this->arrData = $arrData;
$this->arrInfo = $arrInfo;
$objView->assignobj($this);
// フレームを選択(キャンペーンページから遷移なら変更)
$objCampaignSess->pageView($objView);
}
示例15: findProductCount
/**
* SC_Queryインスタンスに設定された検索条件をもとに対象商品数を取得する.
*
* 検索条件は, SC_Query::setWhere() 関数で設定しておく必要があります.
*
* @param SC_Query $objQuery SC_Query インスタンス
* @param array $arrVal 検索パラメーターの配列
* @return array 対象商品ID数
*/
public function findProductCount(&$objQuery, $arrVal = array())
{
$table = <<<__EOS__
dtb_products AS alldtl JOIN dtb_products_class AS P
ON P.product_id = alldtl.product_id
LEFT JOIN dtb_class AS A
ON P.classcategory_id1 = A.class_id
LEFT JOIN dtb_class AS B
ON P.classcategory_id2 = B.class_id
__EOS__;
$objQuery->setGroupBy('P.product_id, A.name, B.name');
return $objQuery->get('COUNT(DISTINCT(alldtl.product_id))', $table, '', $arrVal);
}