質問 > 管理機能 > getNumberOfLines (LC_Page_Admin_Products.php) でのGROUP BYの使用方法に関して。 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
zenta |
投稿日時: 2018/3/26 3:17
対応状況: −−−
|
常連 登録日: 2016/10/18 居住地: 投稿: 59 |
getNumberOfLines (LC_Page_Admin_Products.php) でのGROUP BYの使用方法に関して。 お世話になっております。宜しくお願い致します。
新設したテーブルの行数をカウントしたいのですが、そのテーブルには仕様上product_idが重複されます。 そのこと自体は正しいのですが、正確な行数をカウントするためにはこのproduct_idをGROUP BY機能を用いて絞る必要があります。 この新設したテーブル用にデフォルトの状態のgetNumberOfLines(LC_Page_Admin_Products.php) を使用すると正確な数ではあるものproduct_idが重複した行数が表示されます。 これをGROUP BYを利用して以下の様に行数を絞りたいと試しているのですが、エラーはでないものの、全く機能しておりません。どこに問題があるかご指摘頂けませんでしょうか。(以下はsetGroupByの記述がなければproduct_idが重複されますが、正確な数をカウントします。) function getNumberOfLines($where, $arrValues) { $objQuery =& SC_Query_Ex::getSingletonInstance(); $objQuery->setGroupBy('product_id'); return $objQuery->count('dtb_product_tra', $where = $_SESSION['member_id'].' = dtb_product_tra.tra_member_id', $arrValues); } EC-CUBE 2.X系 (データベース) MySQL5.0.77 (WEBサーバ) apache2 (OS) Windows XP (PHP) 5.0.22 |
yuh |
投稿日時: 2018/3/26 12:54
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: getNumberOfLines (LC_Page_Admin_Products.php) でのGROUP BYの使用方法に関して。 元々そのページでのgetNumberOfLinesはページング用の全体件数を取得するはずですが、一覧で表示させる項目にもdtb_product_traを使用してるんでしょうか?
MYSQLだとSQL_CALC_FOUND_ROWSとSELECT FOUND_ROWS();を使った方が簡単になりますよ。
|
zenta |
投稿日時: 2018/4/2 13:39
対応状況: 解決済
|
常連 登録日: 2016/10/18 居住地: 投稿: 59 |
Re: getNumberOfLines (LC_Page_Admin_Products.php) でのGROUP BYの使用方法に関して。 Yuh様、
ご多忙の中ご教示頂きまして大変感謝いたします。 今回の試みは全体ページの他にdtb_product_traからデータを抽出したページを作成しようと考えており、その際抽出されたデータにproduct_idが重複しますのでgroup by機能で絞り込もうと致しましたが、結論から言えばgetNumberOfLinesを利用してsc_query.phpのsetGroupBy機能を利用することはできないということですよね。 しかしながら、ご教示頂きましたmySqlのSQL_CALC_FOUND_ROWSとSELECT FOUND_ROWS()を利用することにより、ページ送り関連で多くの同様の件があるようですので、現在の私の設定にどのように組み込むべきか試している段階でございます。いずれにせよ、視点が広がりまして本当に感謝の一言でございます。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |