本文整理汇总了PHP中SC_DB_DBFactory_Ex类的典型用法代码示例。如果您正苦于以下问题:PHP SC_DB_DBFactory_Ex类的具体用法?PHP SC_DB_DBFactory_Ex怎么用?PHP SC_DB_DBFactory_Ex使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SC_DB_DBFactory_Ex类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: SC_Query
/**
* コンストラクタ.
*
* @param string $dsn データソース名
* @param boolean $force_run エラーが発生しても処理を続行する場合 true
* @param boolean $new 新規に接続を行うかどうか
*/
function SC_Query($dsn = "", $force_run = false, $new = false)
{
if ($dsn == "") {
$dsn = array('phptype' => DB_TYPE, 'username' => DB_USER, 'password' => DB_PASSWORD, 'protocol' => 'tcp', 'hostspec' => DB_SERVER, 'port' => DB_PORT, 'database' => DB_NAME);
}
// Debugモード指定
// 常時ONにするとメモリが解放されない。
// 連続クエリ実行時に問題が生じる。
if (DEBUG_MODE) {
$options['debug'] = PEAR_DB_DEBUG;
} else {
$options['debug'] = 0;
}
// 持続的接続オプション
$options['persistent'] = PEAR_DB_PERSISTENT;
// バッファリング trueにするとメモリが解放されない。
// 連続クエリ実行時に問題が生じる。
$options['result_buffering'] = false;
if ($new) {
$this->conn = MDB2::connect($dsn, $options);
} else {
$this->conn = MDB2::singleton($dsn, $options);
}
if (!PEAR::isError($this->conn)) {
// $this->conn->setCharset("utf8"); XXX SQL Azure では使用できないらしい
$this->conn->setFetchMode(MDB2_FETCHMODE_ASSOC);
}
$this->dbFactory = SC_DB_DBFactory_Ex::getInstance();
$this->force_run = $force_run;
}
开发者ID:nanasess,项目名称:ec-azure,代码行数:37,代码来源:SC_Query.php
示例2: SC_DbConn
function SC_DbConn($dsn = "", $err_disp = true, $new = false)
{
global $objDbConn;
// Debugモード指定
$options['debug'] = PEAR_DB_DEBUG;
// 持続的接続オプション
$options['persistent'] = PEAR_DB_PERSISTENT;
// 既に接続されていないか、新規接続要望の場合は接続する。
if (!isset($objDbConn->connection) || $new) {
if ($dsn != "") {
$objDbConn = DB::connect($dsn, $options);
$this->dsn = $dsn;
} else {
if (defined('DEFAULT_DSN')) {
$objDbConn = DB::connect(DEFAULT_DSN, $options);
$this->dsn = DEFAULT_DSN;
} else {
return;
}
}
}
$this->conn = $objDbConn;
$this->error_mail_to = DB_ERROR_MAIL_TO;
$this->error_mail_title = DB_ERROR_MAIL_SUBJECT;
$this->err_disp = $err_disp;
$this->dbFactory = SC_DB_DBFactory_Ex::getInstance();
}
开发者ID:khrisna,项目名称:eccubedrm,代码行数:27,代码来源:SC_DbConn.php
示例3: __construct
/**
* @param array $arrSelfInfo
*/
function __construct($arrSelfInfo)
{
parent::__construct($arrSelfInfo);
$this->objQuery = SC_Query_Ex::getSingletonInstance();
$this->objDb = new SC_Helper_DB_Ex();
$this->masterdata = new SC_DB_MasterData_Ex();
$this->objCategory = new SC_Helper_Category_Ex();
$this->objManager = $this->objQuery->conn->loadModule('Manager');
$this->objDbFuctory = SC_DB_DBFactory_Ex::getInstance(DB_TYPE);
}
开发者ID:alice-asahina,项目名称:kisekae_touch,代码行数:13,代码来源:KisekaeTouchCore.php
示例4: process
/**
* Page のプロセス.
*
* @return void
*/
public function process($mode)
{
$objLog = new LC_Upgrade_Helper_LOG();
$objJson = new LC_Upgrade_Helper_Json();
$objLog->start($mode);
$dbFactory = SC_DB_DBFactory_Ex::getInstance();
$arrSystemInfo = array('eccube_version' => ECCUBE_VERSION, 'php_version' => phpversion(), 'db_version' => $dbFactory->sfGetDBVersion());
$objJson->setSuccess($arrSystemInfo);
$objJson->display();
$objLog->end();
}
开发者ID:rateon,项目名称:twhk-ec,代码行数:16,代码来源:LC_Page_Upgrade_SiteCheck.php
示例5: process
/**
* Page のプロセス.
*
* @return void
*/
function process($mode)
{
$objLog = new LC_Upgrade_Helper_LOG();
$objJson = new LC_Upgrade_Helper_Json();
$objLog->start($mode);
if ($this->isValidIP() !== true) {
$objJson->setError(OSTORE_E_C_INVALID_ACCESS);
$objJson->display();
$objLog->error(OSTORE_E_C_INVALID_ACCESS);
return;
}
$dbFactory = SC_DB_DBFactory_Ex::getInstance();
$arrSystemInfo = array('eccube_version' => ECCUBE_VERSION, 'php_version' => phpversion(), 'db_version' => $dbFactory->sfGetDBVersion());
$objJson->setSuccess($arrSystemInfo);
$objJson->display();
$objLog->end();
}
开发者ID:Rise-Up-Cambodia,项目名称:Rise-Up,代码行数:22,代码来源:LC_Page_Upgrade_SiteCheck.php
示例6: sfColumnExists
/**
* カラムの存在チェックと作成を行う.
*
* チェック対象のテーブルに, 該当のカラムが存在するかチェックする.
* 引数 $add が true の場合, 該当のカラムが存在しない場合は, カラムの生成を行う.
* カラムの生成も行う場合は, $col_type も必須となる.
*
* @param string $tableName テーブル名
* @param string $colType カラムのデータ型
* @param string $dsn データソース名
* @param bool $add カラムの作成も行う場合 true
* @return bool カラムが存在する場合とカラムの生成に成功した場合 true,
* テーブルが存在しない場合 false,
* 引数 $add == false でカラムが存在しない場合 false
*/
public function sfColumnExists($tableName, $colName, $colType = '', $dsn = '', $add = false)
{
$dbFactory = SC_DB_DBFactory_Ex::getInstance();
$dsn = $dbFactory->getDSN($dsn);
$objQuery =& SC_Query_Ex::getSingletonInstance($dsn);
// テーブルが無ければエラー
if (!in_array($tableName, $objQuery->listTables())) {
return false;
}
// 正常に接続されている場合
if (!$objQuery->isError()) {
// カラムリストを取得
$columns = $objQuery->listTableFields($tableName);
if (in_array($colName, $columns)) {
return true;
}
}
// カラムを追加する
if ($add) {
return $this->sfColumnAdd($tableName, $colName, $colType);
}
return false;
}
开发者ID:rateon,项目名称:twhk-ec,代码行数:38,代码来源:SC_Helper_DB.php
示例7: getSystemInfo
/**
* システム情報を取得する.
*
* @return array システム情報
*/
public function getSystemInfo()
{
$objDB = SC_DB_DBFactory_Ex::getInstance();
$arrSystemInfo = array(array('title' => 'EC-CUBE', 'value' => ECCUBE_VERSION), array('title' => 'サーバーOS', 'value' => php_uname()), array('title' => 'DBサーバー', 'value' => $objDB->sfGetDBVersion()), array('title' => 'WEBサーバー', 'value' => $_SERVER['SERVER_SOFTWARE']));
$value = phpversion() . ' (' . implode(', ', get_loaded_extensions()) . ')';
$arrSystemInfo[] = array('title' => 'PHP', 'value' => $value);
if (extension_loaded('GD') || extension_loaded('gd')) {
$arrValue = array();
foreach (gd_info() as $key => $val) {
$arrValue[] = "{$key} => {$val}";
}
$value = '有効 (' . implode(', ', $arrValue) . ')';
} else {
$value = '無効';
}
$arrSystemInfo[] = array('title' => 'GD', 'value' => $value);
$arrSystemInfo[] = array('title' => 'HTTPユーザーエージェント', 'value' => $_SERVER['HTTP_USER_AGENT']);
return $arrSystemInfo;
}
开发者ID:casan,项目名称:eccube-2_13,代码行数:24,代码来源:LC_Page_Admin_System_System.php
示例8: sfDataExists
/**
* データの存在チェックを行う.
*
* @param string $tableName テーブル名
* @param string $where データを検索する WHERE 句
* @param array $arrWhereVal WHERE句のプレースホルダ値
* @return bool データが存在する場合 true, データの追加に成功した場合 true,
* $add == false で, データが存在しない場合 false
*/
public function sfDataExists($tableName, $where, $arrWhereVal)
{
$dbFactory = SC_DB_DBFactory_Ex::getInstance();
$dsn = $dbFactory->getDSN($dsn);
$objQuery =& SC_Query_Ex::getSingletonInstance();
$exists = $objQuery->exists($tableName, $where, $arrWhereVal);
// データが存在する場合 TRUE
if ($exists) {
return TRUE;
} else {
return FALSE;
}
}
开发者ID:ryoogata,项目名称:eccube-SQLAzureSupport-plugin,代码行数:22,代码来源:SC_Helper_DB.php
示例9: lfGetOrderTerm
function lfGetOrderTerm($type, $sdate, $edate)
{
$objQuery = SC_Query_Ex::getSingletonInstance();
list($where, $arrWhereVal) = $this->lfGetWhereMember('create_date', $sdate, $edate);
$where .= ' AND del_flg = 0 AND status <> ?';
$arrWhereVal[] = ORDER_CANCEL;
switch ($type) {
case 'month':
$xtitle = t('c_(By month)_01');
$ytitle = t('c_(Total sales)_01');
$format = '%m';
break;
case 'year':
$xtitle = t('c_(By year)_01');
$ytitle = t('c_(Total sales)_01');
$format = '%Y';
break;
case 'wday':
$xtitle = t('c_(By day)_01');
$ytitle = t('c_(Total sales)_01');
$format = '%a';
break;
case 'hour':
$xtitle = t('c_(By time)_01');
$ytitle = t('c_(Total sales)_01');
$format = '%H';
break;
default:
$xtitle = t('c_(By date)_01');
$ytitle = t('c_(Total sales)_01');
$format = '%Y-%m-%d';
$xincline = true;
break;
}
$dbFactory = SC_DB_DBFactory_Ex::getInstance();
// todo postgres
$col = $dbFactory->getOrderTotalDaysWhereSql($type);
$objQuery->setGroupBy('str_date');
$objQuery->setOrder('str_date');
// 検索結果の取得
$arrTotalResults = $objQuery->select($col, 'dtb_order', $where, $arrWhereVal);
$arrTotalResults = $this->lfAddBlankLine($arrTotalResults, $type, $sdate, $edate);
// todo GDない場合の処理
$tpl_image = $this->lfGetGraphLine($arrTotalResults, 'str_date', 'term_' . $type, $xtitle, $ytitle, $sdate, $edate, $xincline);
$arrTotalResults = $this->lfAddTotalLine($arrTotalResults);
return array($arrTotalResults, $tpl_image);
}
开发者ID:Rise-Up-Cambodia,项目名称:Rise-Up,代码行数:47,代码来源:LC_Page_Admin_Total.php
示例10: __construct
function __construct($array, $mode = '')
{
parent::__construct($array);
$objDb = new SC_Helper_DB_Ex();
$dbFactory = SC_DB_DBFactory_Ex::getInstance();
if ($mode == '') {
// 会員本登録会員で削除していない会員
$this->setWhere('status = 2 AND del_flg = 0 ');
// 登録日を示すカラム
$regdate_col = 'dtb_customer.update_date';
}
if ($mode == 'customer') {
$this->setWhere(' del_flg = 0 ');
// 登録日を示すカラム
$regdate_col = 'dtb_customer.update_date';
}
// 会員ID
if (!isset($this->arrSql['search_customer_id'])) {
$this->arrSql['search_customer_id'] = '';
}
if (strlen($this->arrSql['search_customer_id']) > 0) {
$this->setWhere('customer_id = ?');
$this->arrVal[] = $this->arrSql['search_customer_id'];
}
// 名前
if (!isset($this->arrSql['search_name'])) {
$this->arrSql['search_name'] = '';
}
if (strlen($this->arrSql['search_name']) > 0) {
$this->setWhere('(' . $dbFactory->concatColumn(array('name01', 'name02')) . ' LIKE ?)');
$searchName = $this->addSearchStr($this->arrSql['search_name']);
$this->arrVal[] = mb_ereg_replace('[ ]+', '', $searchName);
}
// 名前(フリガナ)
if (!isset($this->arrSql['search_kana'])) {
$this->arrSql['search_kana'] = '';
}
if (strlen($this->arrSql['search_kana']) > 0) {
$this->setWhere('(' . $dbFactory->concatColumn(array('kana01', 'kana02')) . ' LIKE ?)');
$searchKana = $this->addSearchStr($this->arrSql['search_kana']);
$this->arrVal[] = mb_ereg_replace('[ ]+', '', $searchKana);
}
// 都道府県
if (!isset($this->arrSql['search_pref'])) {
$this->arrSql['search_pref'] = '';
}
if (strlen($this->arrSql['search_pref']) > 0) {
$this->setWhere('pref = ?');
$this->arrVal[] = $this->arrSql['search_pref'];
}
// 電話番号
if (!isset($this->arrSql['search_tel'])) {
$this->arrSql['search_tel'] = '';
}
if (is_numeric($this->arrSql['search_tel'])) {
$this->setWhere('(' . $dbFactory->concatColumn(array('tel01', 'tel02', 'tel03')) . ' LIKE ?)');
$searchTel = $this->addSearchStr($this->arrSql['search_tel']);
$this->arrVal[] = str_replace('-', '', $searchTel);
}
// 性別
if (!isset($this->arrSql['search_sex'])) {
$this->arrSql['search_sex'] = '';
}
if (is_array($this->arrSql['search_sex'])) {
$arrSexVal = $this->setItemTerm($this->arrSql['search_sex'], 'sex');
foreach ($arrSexVal as $data) {
$this->arrVal[] = $data;
}
}
// 職業
if (!isset($this->arrSql['search_job'])) {
$this->arrSql['search_job'] = '';
}
if (is_array($this->arrSql['search_job'])) {
if (in_array(t('c_Unknown_01'), $this->arrSql['search_job'])) {
$arrJobVal = $this->setItemTermWithNull($this->arrSql['search_job'], 'job');
} else {
$arrJobVal = $this->setItemTerm($this->arrSql['search_job'], 'job');
}
if (is_array($arrJobVal)) {
foreach ($arrJobVal as $data) {
$this->arrVal[] = $data;
}
}
}
// E-MAIL
if (!isset($this->arrSql['search_email'])) {
$this->arrSql['search_email'] = '';
}
if (strlen($this->arrSql['search_email']) > 0) {
//カンマ区切りで複数の条件指定可能に
$this->arrSql['search_email'] = explode(',', $this->arrSql['search_email']);
$sql_where = '';
foreach ($this->arrSql['search_email'] as $val) {
$val = trim($val);
//検索条件を含まない
if ($this->arrSql['not_emailinc'] == '1') {
if ($sql_where == '') {
$sql_where .= 'dtb_customer.email NOT ILIKE ? ';
} else {
//.........这里部分代码省略.........
开发者ID:Rise-Up-Cambodia,项目名称:Rise-Up,代码行数:101,代码来源:SC_CustomerList.php
示例11: getSystemInfo
/**
* システム情報を取得する.
*
* @return array システム情報
*/
function getSystemInfo()
{
$objDB = SC_DB_DBFactory_Ex::getInstance();
$arrSystemInfo = array(array('title' => t('c_EC-CUBE_01'), 'value' => ECCUBE_VERSION), array('title' => t('c_Server OS_01'), 'value' => php_uname()), array('title' => t('c_DB server_01'), 'value' => $objDB->sfGetDBVersion()), array('title' => t('c_WEB server_01'), 'value' => $_SERVER['SERVER_SOFTWARE']));
$value = phpversion() . ' (' . implode(', ', get_loaded_extensions()) . ')';
$arrSystemInfo[] = array('title' => 'PHP', 'value' => $value);
if (extension_loaded('GD') || extension_loaded('gd')) {
$arrValue = array();
foreach (gd_info() as $key => $val) {
$arrValue[] = "{$key} => {$val}";
}
$value = t('c_Enabled_01') . ' (' . implode(', ', $arrValue) . ')';
} else {
$value = t('c_Inactive_01');
}
$arrSystemInfo[] = array('title' => t('c_GD_01'), 'value' => $value);
$arrSystemInfo[] = array('title' => t('c_HTTP user agent_01'), 'value' => $_SERVER['HTTP_USER_AGENT']);
return $arrSystemInfo;
}
开发者ID:Rise-Up-Cambodia,项目名称:Rise-Up,代码行数:24,代码来源:LC_Page_Admin_System_System.php
示例12: lfCheckDBError
function lfCheckDBError($objFormParam)
{
global $objPage;
// 入力データを渡す。
$arrRet = $objFormParam->getHashArray();
$objErr = new SC_CheckError($arrRet);
$objErr->arrErr = $objFormParam->checkError();
if (count($objErr->arrErr) == 0) {
if (!defined("DB_TYPE")) {
define("DB_TYPE", $arrRet['db_type']);
}
// 接続確認
$dsn = $arrRet['db_type'] . "://" . $arrRet['db_user'] . ":" . $arrRet['db_password'] . "@" . $arrRet['db_server'] . ":" . $arrRet['db_port'] . "/" . $arrRet['db_name'];
// Debugモード指定
$options['debug'] = PEAR_DB_DEBUG;
$objDB = MDB2::connect($dsn, $options);
// 接続成功
if (!PEAR::isError($objDB)) {
$dbFactory = SC_DB_DBFactory_Ex::getInstance($arrRet['db_type']);
// データベースバージョン情報の取得
$objPage->tpl_db_version = $dbFactory->sfGetDBVersion($dsn);
} else {
$objErr->arrErr['all'] = ">> " . $objDB->message . "<br />";
// エラー文を取得する
ereg("\\[(.*)\\]", $objDB->userinfo, $arrKey);
$objErr->arrErr['all'] .= $arrKey[0] . "<br />";
GC_Utils_Ex::gfPrintLog($objDB->userinfo, INSTALL_LOG);
}
}
return $objErr->arrErr;
}
开发者ID:hatone,项目名称:EC-CUBE-Ver2.11.3,代码行数:31,代码来源:index.php
示例13: lfGetReviewYesterday
/**
* 昨日のレビュー書き込み数の取得
*
* @return integer 昨日のレビュー書き込み数
*/
function lfGetReviewYesterday()
{
$objQuery =& SC_Query_Ex::getSingletonInstance();
// TODO: DBFactory使わないでも共通化できそうな気もしますが
$dbFactory = SC_DB_DBFactory_Ex::getInstance();
$sql = $dbFactory->getReviewYesterdaySql();
return $objQuery->getOne($sql);
}
开发者ID:Rise-Up-Cambodia,项目名称:Rise-Up,代码行数:13,代码来源:LC_Page_Admin_Home.php
示例14: sfDataExists
/**
* データの存在チェックを行う.
*
* @param string $table_name テーブル名
* @param string $where データを検索する WHERE 句
* @param string $dsn データソース名
* @param string $sql @deprecated データの追加を行う場合の SQL文
* @param bool $add @deprecated データの追加も行う場合 true
* @return bool データが存在する場合 true, データの追加に成功した場合 true,
* $add == false で, データが存在しない場合 false
*/
function sfDataExists($table_name, $where, $arrWhereVal, $dsn = '', $sql = '', $add = false)
{
$dbFactory = SC_DB_DBFactory_Ex::getInstance();
$dsn = $dbFactory->getDSN($dsn);
$objQuery =& SC_Query_Ex::getSingletonInstance();
$exists = $objQuery->exists($table_name, $where, $arrWhereVal);
// データが存在する場合 TRUE
if ($exists) {
return TRUE;
// $add が TRUE の場合はデータを追加する
} elseif ($add) {
return $objQuery->exec($sql);
// $add が FALSE で、データが存在しない場合 FALSE
} else {
return FALSE;
}
}
开发者ID:nassos9090,项目名称:plugin,代码行数:28,代码来源:SC_Helper_DB.php
示例15: select
/**
* SELECT文を実行する.
*
* @param string $col カラム名. 複数カラムの場合はカンマ区切りで書く
* @param string $table テーブル名
* @param string $where WHERE句
* @param array $arrval プレースホルダ
* @return array|null
*/
function select($col, $table, $where = "", $arrval = array())
{
$sqlse = $this->getsql($col, $table, $where);
// DBに依存した SQL へ変換
$dbFactory = SC_DB_DBFactory_Ex::getInstance();
$sqlse = $dbFactory->sfChangeMySQL($sqlse);
$ret = $this->conn->getAll($sqlse, $arrval);
return $ret;
}
开发者ID:khrisna,项目名称:eccubedrm,代码行数:18,代码来源:SC_Query.php
示例16: lfCheckDBError
function lfCheckDBError($objDBParam)
{
global $objPage;
// 入力データを渡す。
$arrRet = $objDBParam->getHashArray();
$objErr = new SC_CheckError($arrRet);
$objErr->arrErr = $objDBParam->checkError();
if (count($objErr->arrErr) == 0) {
$arrDsn = getArrayDsn($objDBParam);
// Debugモード指定
$options['debug'] = PEAR_DB_DEBUG;
$objDB = MDB2::connect($arrDsn, $options);
// 接続成功
if (!PEAR::isError($objDB)) {
$dbFactory = SC_DB_DBFactory_Ex::getInstance($arrDsn['phptype']);
// データベースバージョン情報の取得
$objPage->tpl_db_version = $dbFactory->sfGetDBVersion($arrDsn);
} else {
$objErr->arrErr['all'] = '>> ' . $objDB->message . '<br />';
// エラー文を取得する
preg_match('/\\[(.*)\\]/', $objDB->userinfo, $arrKey);
$objErr->arrErr['all'] .= $arrKey[0] . '<br />';
GC_Utils_Ex::gfPrintLog($objDB->userinfo, INSTALL_LOG);
}
}
return $objErr->arrErr;
}
开发者ID:nanasess,项目名称:eccube-WindowsAzureBlob-plugin,代码行数:27,代码来源:index.php
示例17: lfRegistProduct
/**
* DBに商品データを登録する
*
* @param object $objUpFile SC_UploadFileインスタンス
* @param object $objDownFile SC_UploadFileインスタンス
* @param array $arrList フォーム入力パラメーター配列
* @return integer 登録商品ID
*/
function lfRegistProduct(&$objUpFile, &$objDownFile, $arrList)
{
$objQuery =& SC_Query_Ex::getSingletonInstance();
$objDb = new SC_Helper_DB_Ex();
// 配列の添字を定義
$checkArray = array('name', 'status', 'main_list_comment', 'main_comment', 'deliv_fee', 'comment1', 'comment2', 'comment3', 'comment4', 'comment5', 'comment6', 'sale_limit', 'deliv_date_id', 'maker_id', 'note');
$arrList = SC_Utils_Ex::arrayDefineIndexes($arrList, $checkArray);
// INSERTする値を作成する。
$sqlval['name'] = $arrList['name'];
$sqlval['status'] = $arrList['status'];
$sqlval['main_list_comment'] = $arrList['main_list_comment'];
$sqlval['main_comment'] = $arrList['main_comment'];
$sqlval['comment1'] = $arrList['comment1'];
$sqlval['comment2'] = $arrList['comment2'];
$sqlval['comment3'] = $arrList['comment3'];
$sqlval['comment4'] = $arrList['comment4'];
$sqlval['comment5'] = $arrList['comment5'];
$sqlval['comment6'] = $arrList['comment6'];
$sqlval['deliv_date_id'] = $arrList['deliv_date_id'];
$sqlval['maker_id'] = $arrList['maker_id'];
$sqlval['note'] = $arrList['note'];
$sqlval['update_date'] = 'CURRENT_TIMESTAMP';
$sqlval['creator_id'] = $_SESSION['member_id'];
$arrRet = $objUpFile->getDBFileList();
$sqlval = array_merge($sqlval, $arrRet);
for ($cnt = 1; $cnt <= PRODUCTSUB_MAX; $cnt++) {
$sqlval['sub_title' . $cnt] = $arrList['sub_title' . $cnt];
$sqlval['sub_comment' . $cnt] = $arrList['sub_comment' . $cnt];
}
$objQuery->begin();
// 新規登録(複製時を含む)
if ($arrList['product_id'] == '') {
$product_id = $objQuery->nextVal('dtb_products_product_id');
$sqlval['product_id'] = $product_id;
// INSERTの実行
$sqlval['create_date'] = 'CURRENT_TIMESTAMP';
$objQuery->insert('dtb_products', $sqlval);
$arrList['product_id'] = $product_id;
// カテゴリを更新
$objDb->updateProductCategories($arrList['category_id'], $product_id);
// 複製商品の場合には規格も複製する
if ($arrList['copy_product_id'] != '' && SC_Utils_Ex::sfIsInt($arrList['copy_product_id'])) {
if (!$arrList['has_product_class']) {
//規格なしの場合、複製は価格等の入力が発生しているため、その内容で追加登録を行う
$this->lfCopyProductClass($arrList, $objQuery);
} else {
//規格がある場合の複製は複製元の内容で追加登録を行う
// dtb_products_class のカラムを取得
$dbFactory = SC_DB_DBFactory_Ex::getInstance();
$arrColList = $objQuery->listTableFields('dtb_products_class');
$arrColList_tmp = array_flip($arrColList);
// 複製しない列
unset($arrColList[$arrColList_tmp['product_class_id']]);
//規格ID
unset($arrColList[$arrColList_tmp['product_id']]);
//商品ID
unset($arrColList[$arrColList_tmp['create_date']]);
// 複製元商品の規格データ取得
$col = SC_Utils_Ex::sfGetCommaList($arrColList);
$table = 'dtb_products_class';
$where = 'product_id = ?';
$objQuery->setOrder('product_class_id');
$arrProductsClass = $objQuery->select($col, $table, $where, array($arrList['copy_product_id']));
// 規格データ登録
$objQuery =& SC_Query_Ex::getSingletonInstance();
foreach ($arrProductsClass as $arrData) {
$sqlval = $arrData;
$sqlval['product_class_id'] = $objQuery->nextVal('dtb_products_class_product_class_id');
$sqlval['deliv_fee'] = $arrList['deliv_fee'];
$sqlval['point_rate'] = $arrList['point_rate'];
$sqlval['sale_limit'] = $arrList['sale_limit'];
$sqlval['product_id'] = $product_id;
$sqlval['create_date'] = 'CURRENT_TIMESTAMP';
$sqlval['update_date'] = 'CURRENT_TIMESTAMP';
$objQuery->insert($table, $sqlval);
}
}
}
// 更新
} else {
$product_id = $arrList['product_id'];
// 削除要求のあった既存ファイルの削除
$arrRet = $this->lfGetProductData_FromDB($arrList['product_id']);
// TODO: SC_UploadFile::deleteDBFileの画像削除条件見直し要
$objImage = new SC_Image_Ex($objUpFile->temp_dir);
$arrKeyName = $objUpFile->keyname;
$arrSaveFile = $objUpFile->save_file;
$arrImageKey = array();
foreach ($arrKeyName as $key => $keyname) {
if ($arrRet[$keyname] && !$arrSaveFile[$key]) {
$arrImageKey[] = $keyname;
$has_same_image = $this->lfHasSameProductImage($arrList['product_id'], $arrImageKey, $arrRet[$keyname]);
//.........这里部分代码省略.........
开发者ID:Rise-Up-Cambodia,项目名称:Rise-Up,代码行数:101,代码来源:LC_Page_Admin_Products_Product.php
示例18: lfGetOrderAge
/** 年代別集計 **/
public function lfGetOrderAge($type, $sdate, $edate)
{
if (DB_TYPE != 'sqlsrv') {
return parent::lfGetOrderAge($type, $sdate, $edate);
}
$objQuery = SC_Query_Ex::getSingletonInstance();
list($where, $arrWhereVal) = $this->lfGetWhereMember('create_date', $sdate, $edate, $type);
$dbFactory = SC_DB_DBFactory_Ex::getInstance();
$col = "age";
$col .= ',COUNT(order_id) AS order_count';
$col .= ',SUM(total) AS total';
$col .= ',AVG(total) AS total_average';
$from = "(" . $dbFactory->getOrderTotalAgeColSql() . ") as t1";
$where .= ' AND del_flg = 0 AND status <> ?';
$arrWhereVal[] = ORDER_CANCEL;
$objQuery->setGroupBy('age');
$objQuery->setOrder('age DESC');
$arrTotalResults = $objQuery->select($col, $from, $where, $arrWhereVal);
foreach ($arrTotalResults as $key => $value) {
$arrResult =& $arrTotalResults[$key];
$age_key = $arrResult['age'];
if ($age_key != '') {
$arrResult['age_name'] = $arrResult['age'] . '代';
} else {
$arrResult['age_name'] = '未回答';
}
}
$tpl_image = $this->lfGetGraphBar($arrTotalResults, 'age_name', 'age_' . $type, '(年齢)', '(売上合計)', $sdate, $edate);
return array($arrTotalResults, $tpl_image);
}
开发者ID:ryoogata,项目名称:eccube-SQLAzureSupport-plugin,代码行数:31,代码来源:LC_Page_Admin_Total_Ex.php
示例19: buildQuery
/**
* クエリを構築する.
*
* 検索条件のキーに応じた WHERE 句と, クエリパラメーターを構築する.
* クエリパラメーターは, SC_FormParam の入力値から取得する.
*
* 構築内容は, 引数の $where 及び $arrValues にそれぞれ追加される.
*
* @param string $key 検索条件のキー
* @param string $where 構築する WHERE 句
* @param array $arrValues 構築するクエリパラメーター
* @param SC_FormParam $objFormParam SC_FormParam インスタンス
* @return void
*/
function buildQuery($key, &$where, &$arrValues, &$objFormParam)
{
$dbFactory = SC_DB_DBFactory_Ex::getInstance();
switch ($key) {
case 'search_product_name':
$where .= ' AND EXISTS (SELECT 1 FROM dtb_order_detail od WHERE od.order_id = dtb_order.order_id AND od.product_name LIKE ?)';
$arrValues[] = sprintf('%%%s%%', $objFormParam->getValue($key));
break;
case 'search_order_name':
$where .= ' AND ' . $dbFactory->concatColumn(array('order_name01', 'order_name02')) . ' LIKE ?';
$arrValues[] = sprintf('%%%s%%', $objFormParam->getValue($key));
break;
case 'search_order_kana':
$where .= ' AND ' . $dbFactory->concatColumn(array('order_kana01', 'order_kana02')) . ' LIKE ?';
$arrValues[] = sprintf('%%%s%%', $objFormParam->getValue($key));
break;
case 'search_order_id1':
$where .= ' AND order_id >= ?';
$arrValues[] = sprintf('%d', $objFormParam->getValue($key));
break;
case 'search_order_id2':
$where .= ' AND order_id <= ?';
$arrValues[] = sprintf('%d', $objFormParam->getValue($key));
break;
case 'search_order_sex':
$tmp_where = '';
foreach ($objFormParam->getValue($key) as $element) {
if ($element != '') {
if (SC_Utils_Ex::isBlank($tmp_where)) {
$tmp_where .= ' AND (order_sex = ?';
} else {
$tmp_where .= ' OR order_sex = ?';
}
$arrValues[] = $element;
}
}
if (!SC_Utils_Ex::isBlank($tmp_where)) {
$tmp_where .= ')';
$where .= " {$tmp_where} ";
}
break;
case 'search_order_tel':
$where .= ' AND (' . $dbFactory->concatColumn(array('order_tel01', 'order_tel02', 'order_tel03')) . ' LIKE ?)';
$arrValues[] = sprintf('%%%d%%', preg_replace('/[()-]+/', '', $objFormParam->getValue($key)));
break;
case 'search_order_email':
$where .= ' AND order_email LIKE ?';
$arrValues[] = sprintf('%%%s%%', $objFormParam->getValue($key));
break;
case 'search_payment_id':
$tmp_where = '';
foreach ($objFormParam->getValue($key) as $element) {
if ($element != '') {
if ($tmp_where == '') {
$tmp_where .= ' AND (payment_id = ?';
} else {
$tmp_where .= ' OR payment_id = ?';
}
$arrValues[] = $element;
}
}
if (!SC_Utils_Ex::isBlank($tmp_where)) {
$tmp_where .= ')';
$where .= " {$tmp_where} ";
}
break;
case 'search_total1':
$where .= ' AND total >= ?';
$arrValues[] = sprintf('%d', $objFormParam->getValue($key));
break;
case 'search_total2':
$where .= ' AND total <= ?';
$arrValues[] = sprintf('%d', $objFormParam->getValue($key));
break;
case 'search_sorderyear':
$date = SC_Utils_Ex::sfGetTimestamp($objFormParam->getValue('search_sorderyear'), $objFormParam->getValue('search_sordermonth'), $objFormParam->getValue('search_sorderday'));
$where .= ' AND create_date >= ?';
$arrValues[] = $date;
break;
case 'search_eorderyear':
$date = SC_Utils_Ex::sfGetTimestamp($objFormParam->getValue('search_eorderyear'), $objFormParam->getValue('search_eordermonth'), $objFormParam->getValue('search_eorderday'), true);
$where .= ' AND create_date <= ?';
$arrValues[] = $date;
break;
case 'search_supdateyear':
$date = SC_Utils_Ex::sfGetTimestamp($objFormParam->getValue('search_supdateyear'), $objFormParam->getValue('search_supdatemonth'), $objFormParam->getValue('search_supdateday'));
//.........这里部分代码省略.........
开发者ID:Rise-Up-Cambodia,项目名称:Rise-Up,代码行数:101,代码来源:LC_Page_Admin_Order.php
示例20: getMasterDataNames
/**
* マスターデータ名を配列で取得する.
*
* @access private
* @param array $ignores 取得しないマスターデータ名の配列
* @return array マスターデータ名の配列
*/
public function getMasterDataNames($ignores = array())
{
$dbFactory = SC_DB_DBFactory_Ex::getInstance();
$arrMasterDataName = $dbFactory->findTableNames('mtb_');
$i = 0;
foreach ($arrMasterDataName as $val) {
foreach ($ignores as $ignore) {
if ($val == $ignore) {
unset($arrMasterDataName[$i]);
}
}
$i++;
}
return $arrMasterDataName;
}
开发者ID:ryoogata,项目名称:eccube-SQLAzureSupport-plugin,代码行数:22,代码来源:LC_Page_Admin_System_Masterdata.php
注:本文中的SC_DB_DBFactory_Ex类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论