Changeset 19662 for branches/version-2_5-dev/data/class/SC_Product.php
- Timestamp:
- 2010/11/09 18:00:25 (16 years ago)
- bzr:base-revision:
- [email protected]
- bzr:committer:
- Kentaro Ohkouchi <[email protected]>
- bzr:file-ids:
data/Smarty/templates/admin/system/editdb.tpl 19117@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Fcamp%2Fcamp-2_5-D%2Fdata%2FSmarty%2Ftemplates%2Fadmin%2Fsystem%2Feditdb.tpl
data/Smarty/templates/admin/system/subnavi.tpl 15732@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2FSmarty%2Ftemplates%2Fdefault%2Fadmin%2Fsystem%2Fsubnavi.tpl
data/class/SC_Initial.php 16506@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2FSC_Initial.php
data/class/SC_Product.php 18277@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Fcomu-ver2%2Fdata%2Fclass%2FSC_Product.php
data/class/SC_Query.php 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2FSC_Query.php
data/class/helper/SC_Helper_DB.php 15176@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fhelper%2FSC_Helper_DB.php
data/class/helper/SC_Helper_Session.php 15277@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fhelper%2FSC_Helper_Session.php
data/class/pages/LC_Page.php 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2FLC_Page.php
data/class/pages/admin/order/LC_Page_Admin_Order_ProductSelect.php 17293@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Fcomu-ver2%2Fdata%2Fclass%2Fpages%2Fadmin%2Forder%2FLC_Page_Admin_Order_ProductSelect.php
data/class/pages/admin/system/LC_Page_Admin_System_Editdb.php 19117@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Fcamp%2Fcamp-2_5-D%2Fdata%2Fclass%2Fpages%2Fadmin%2Fsystem%2FLC_Page_Admin_System_Editdb.php
data/class/pages/products/LC_Page_Products_List.php 15154@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fproducts%2FLC_Page_Products_List.php
data/class_extends/page_extends/admin/system/LC_Page_Admin_System_Editdb_Ex.php 19117@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Fcamp%2Fcamp-2_5-D%2Fdata%2Fclass_extends%2Fpage_extends%2Fadmin%2Fsystem%2FLC_Page_Admin_System_Editdb_Ex.php
html/admin/system/editdb.php 19180@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Fcamp%2Fcamp-2_5-D%2Fhtml%2Fadmin%2Fsystem%2Feditdb.php
html/install/sql/column_comment.sql 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fhtml%2Finstall%2Fsql%2Fcolumn_comment.sql
html/install/sql/create_table_mysql.sql 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fhtml%2Finstall%2Fsql%2Fcreate_table_mysql.sql
html/install/sql/create_table_pgsql.sql 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fhtml%2Finstall%2Fsql%2Fcreate_table_pgsql.sql
html/install/sql/drop_table.sql 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fhtml%2Finstall%2Fsql%2Fdrop_table.sql
html/install/sql/insert_data.sql 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fhtml%2Finstall%2Fsql%2Finsert_data.sql- bzr:mapping-version:
- v4
- bzr:repository-uuid:
- 1e3b908f-19a9-db11-a64c-001125224ba8
- bzr:revision-id:
- [email protected]
- bzr:revno:
- 2392
- bzr:revprop:branch-nick:
- branches/version-2_5-dev
- bzr:root:
- branches/version-2_5-dev
- bzr:timestamp:
- 2010-11-09 18:00:16.530999899 +0900
- bzr:user-agent:
- bzr2.2.0+bzr-svn1.0.3
- svn:original-date:
- 2010-11-09T09:00:16.531000Z
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/class/SC_Product.php
r18882 r19662 46 46 var $classCat2_find; 47 47 var $classCats1; 48 49 /** 50 * SC_Queryインスタンスに設定された検索条件をもとに商品IDの配列を取得する. 48 /** 検索用並び替え条件配列 */ 49 var $arrOrderData; 50 51 /** 52 * 商品検索結果の並び順を指定する。 53 * 54 * ただし指定できるテーブルはproduct_idを持っているテーブルであることが必要. 55 * 56 * @param string $col 並び替えの基準とするフィールド 57 * @param string $table 並び替えの基準とするフィールドがあるテーブル 58 * @param string $order 並び替えの順序 ASC / DESC 59 * @return void 60 */ 61 function setProductsOrder($col, $table = 'dtb_products', $order = 'ASC') { 62 $this->arrOrderData = array('col' => $col, 'table' => $table, 'order' => $order); 63 } 64 65 /** 66 * SC_Queryインスタンスに設定された検索条件を元に並び替え済みの検索結果商品IDの配列を取得する。 51 67 * 52 68 * 検索条件は, SC_Query::getWhere() 関数で設定しておく必要があります. … … 56 72 * @return array 商品IDの配列 57 73 */ 58 function findProductIds(&$objQuery, $arrVal = array()) { 74 function findProductIdsOrder(&$objQuery, $arrVal = array(), $where) { 75 $table = <<< __EOS__ 76 dtb_products AS alldtl 77 JOIN dtb_products_class AS T1 78 ON alldtl.product_id = T1.product_id 79 JOIN dtb_product_categories AS T2 80 ON alldtl.product_id = T2.product_id 81 JOIN dtb_category 82 ON T2.category_id = dtb_category.category_id 83 __EOS__; 84 $objQuery->setGroupBy('alldtl.product_id'); 85 if(is_array($this->arrOrderData) and $objQuery->order == ""){ 86 $o_col = $this->arrOrderData['col']; 87 $o_table = $this->arrOrderData['table']; 88 $o_order = $this->arrOrderData['order']; 89 $order = <<< __EOS__ 90 ( 91 SELECT $o_col 92 FROM 93 $o_table as T2 94 WHERE T2.product_id = alldtl.product_id 95 ORDER BY T2.$o_col $o_order 96 LIMIT 1 97 ) $o_order, product_id 98 __EOS__; 99 $objQuery->setOrder($order); 100 } 101 $results = $objQuery->select('alldtl.product_id', $table, "", $arrVal, 102 MDB2_FETCHMODE_ORDERED); 103 foreach ($results as $val) { 104 $resultValues[] = $val[0]; 105 } 106 return $resultValues; 107 } 108 109 /** 110 * SC_Queryインスタンスに設定された検索条件をもとに対象商品数を取得する. 111 * 112 * 検索条件は, SC_Query::getWhere() 関数で設定しておく必要があります. 113 * 114 * @param SC_Query $objQuery SC_Query インスタンス 115 * @param array $arrVal 検索パラメータの配列 116 * @return array 対象商品ID数 117 */ 118 function findProductCount(&$objQuery, $arrVal = array()) { 59 119 $table = <<< __EOS__ 60 120 dtb_products AS alldtl … … 64 124 ON T2.category_id = dtb_category.category_id 65 125 __EOS__; 66 // SC_Query::getCol() ではパフォーマンスが出ない 67 $results = $objQuery->select('alldtl.product_id', $table, "", $arrVal, 68 MDB2_FETCHMODE_ORDERED); 69 foreach ($results as $val) { 70 $resultValues[] = $val[0]; 71 } 72 return array_unique($resultValues); 126 $objQuery->setGroupBy('alldtl.product_id'); 127 $sql_base = $objQuery->getSql('alldtl.product_id',$table); 128 return $objQuery->getOne( "SELECT count(*) FROM ( $sql_base ) as t" , $arrVal); 73 129 } 74 130 … … 109 165 ,update_date 110 166 __EOS__; 111 return$objQuery->select($col, $this->alldtlSQL($objQuery->where),167 $res = $objQuery->select($col, $this->alldtlSQL($objQuery->where), 112 168 "", $arrVal); 169 return $res; 113 170 } 114 171
Note: See TracChangeset
for help on using the changeset viewer.
