本文整理汇总了PHP中SC_Product_Ex::prdclsSQL方法的典型用法代码示例。如果您正苦于以下问题:PHP SC_Product_Ex::prdclsSQL方法的具体用法?PHP SC_Product_Ex::prdclsSQL怎么用?PHP SC_Product_Ex::prdclsSQL使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SC_Product_Ex
的用法示例。
在下文中一共展示了SC_Product_Ex::prdclsSQL方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: sfDownloadCsv
/**
* CSVファイルを送信する
*
* @param integer $csv_id CSVフォーマットID
* @param string $where WHERE条件文
* @param array $arrVal プリペアドステートメントの実行時に使用される配列。配列の要素数は、クエリ内のプレースホルダの数と同じでなければなりません。
* @param string $order ORDER文
* @param boolean $is_download true:ダウンロード用出力までさせる false:CSVの内容を返す(旧方式、メモリを食います。)
* @return boolean|string $is_download = true時 成功失敗フラグ(boolean) 、$is_downalod = false時 string
*/
public function sfDownloadCsv($csv_id, $where = '', $arrVal = array(), $order = '', $is_download = false)
{
$objQuery =& SC_Query_Ex::getSingletonInstance();
// CSV出力タイトル行の作成
$arrOutput = SC_Utils_Ex::sfSwapArray($this->sfGetCsvOutput($csv_id, 'status = ' . CSV_COLUMN_STATUS_FLG_ENABLE));
if (count($arrOutput) <= 0) {
return false;
}
// 失敗終了
$arrOutputCols = $arrOutput['col'];
$cols = SC_Utils_Ex::sfGetCommaList($arrOutputCols, true);
// 商品の場合
if ($csv_id == 1) {
// この WHERE 句を足さないと無効な規格も出力される。現行仕様と合わせる為追加。
$inner_where = 'dtb_products_class.del_flg = 0';
$from = SC_Product_Ex::prdclsSQL($inner_where);
// 会員の場合
} elseif ($csv_id == 2) {
$from = 'dtb_customer';
// 注文の場合
} elseif ($csv_id == 3) {
$from = 'dtb_order';
// レビューの場合
} elseif ($csv_id == 4) {
$from = 'dtb_review AS A INNER JOIN dtb_products AS B on A.product_id = B.product_id';
// カテゴリの場合
} elseif ($csv_id == 5) {
$from = 'dtb_category';
}
$objQuery->setOrder($order);
$sql = $objQuery->getSql($cols, $from, $where);
return $this->sfDownloadCsvFromSql($sql, $arrVal, $this->arrSubnavi[$csv_id], $arrOutput['disp_name'], $is_download);
}
示例2: sfDownloadCsv
/**
* CSVファイルを送信する
*
* @param integer $csv_id CSVフォーマットID
* @param string $where WHERE条件文
* @param array $arrVal プリペアドステートメントの実行時に使用される配列。配列の要素数は、クエリ内のプレースホルダの数と同じでなければなりません。
* @param string $order ORDER文
* @param boolean $is_download true:ダウンロード用出力までさせる false:CSVの内容を返す(旧方式、メモリを食います。)
* @return mixed $is_download = true時 成功失敗フラグ(boolean) 、$is_downalod = false時 string
*/
function sfDownloadCsv($csv_id, $where = '', $arrVal = array(), $order = '', $is_download = false)
{
// 実行時間を制限しない
@set_time_limit(0);
// CSV出力タイトル行の作成
$arrOutput = SC_Utils_Ex::sfSwapArray($this->sfGetCsvOutput($csv_id, 'status = ' . CSV_COLUMN_STATUS_FLG_ENABLE));
if (count($arrOutput) <= 0) {
return false;
}
// 失敗終了
$arrOutputCols = $arrOutput['col'];
$objQuery =& SC_Query_Ex::getSingletonInstance();
$objQuery->setOrder($order);
$cols = SC_Utils_Ex::sfGetCommaList($arrOutputCols, true);
// TODO: 固有処理 なんかエレガントな処理にしたい
if ($csv_id == '1') {
//商品の場合
$objProduct = new SC_Product_Ex();
// このWhereを足さないと無効な規格も出力される。現行仕様と合わせる為追加。
$inner_where = 'dtb_products_class.del_flg = 0';
$sql = $objQuery->getSql($cols, $objProduct->prdclsSQL($inner_where), $where);
} else {
if ($csv_id == '2') {
// 会員の場合
$sql = 'SELECT ' . $cols . ' FROM dtb_customer ' . $where;
} else {
if ($csv_id == '3') {
// 注文の場合
$sql = 'SELECT ' . $cols . ' FROM dtb_order ' . $where;
} else {
if ($csv_id == '4') {
// レビューの場合
$sql = 'SELECT ' . $cols . ' FROM dtb_review AS A INNER JOIN dtb_products AS B on A.product_id = B.product_id ' . $where;
} else {
if ($csv_id == '5') {
// カテゴリの場合
$sql = 'SELECT ' . $cols . ' FROM dtb_category ' . $where;
}
}
}
}
}
// 固有処理ここまで
return $this->sfDownloadCsvFromSql($sql, $arrVal, $this->arrSubnavi[$csv_id], $arrOutput['disp_name'], $is_download);
}