質問 > フロント機能 > マイページ内に新設した一覧ページにてのページング機能設定につきまして。 |
フロント機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
zenta |
投稿日時: 2018/2/12 17:46
対応状況: 解決済
|
常連 登録日: 2016/10/18 居住地: 投稿: 59 |
Re: マイページ内に新設した一覧ページにてのページング機能設定につきまして。 468様
ご多忙の中、詳細にご指導いただき、感謝の限りでございます。 新設テーブルのデータ量が多い上、連結、整合性のチェックなど、確認項目が非常に多く、新設テーブル用のphpファイル、sc_product.php、sc_query.phpの内容を確認しながら、いろいろと試していこうと思います。 使用すべきファイル、記述箇所などのご指摘、本当に感謝致します。 |
468 |
投稿日時: 2018/2/8 10:18
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: マイページ内に新設した一覧ページにてのページング機能設定につきまして。 group byの指定の仕方ですが、
$objQuery->count()を実行する前に $objQuery->setGroupBy('trn.product_id'); を実行すれば、発行されるSELECT文にgroup byが付与されます。 あと、Where句の件ですが、count()に渡す引数が誤っていると思います。 return $objQuery->count($table, '', $where, $arrVal, $groupby); ↓ return $objQuery->count($table, $where, $arrVal); 第2引数の''は不要かと思います。
|
zenta |
投稿日時: 2018/2/7 23:36
対応状況: −−−
|
常連 登録日: 2016/10/18 居住地: 投稿: 59 |
Re: マイページ内に新設した一覧ページにてのページング機能設定につきまして。 468様、
ご指導いただきまして感謝いたします。 sc_query.phpは全く調整していませんでしたので、とりあえず以下の様にいたしましたが、期待する結果に至っておりません。 まず、groupbyにおける$arrWhereValに相当するものをどのように設定してよいのか分かりませんでした。 sc_query.php function count($table, $where = '', $arrWhereVal = array(), $groupby = '') { return $this->get('COUNT(*)', $table, $where, $arrWhereVal, $groupby); } 次に、以下に関して、$whereの記述自体は正しいと考えているのですが、$where自体が全く読まれておりませんので、__EOS__;の位置、$objQuery->count(XXXX)の中身の内容などあれこれと試しえておりますが、何かご指摘など頂けませんでしょうか。 function findProductCount(&$objQuery, $arrVal = array()) { $table = <<< __EOS__ dtb_product_tran AS trn __EOS__; $where = $_SESSION['member_id'].'= trn.creator_id'; $groupby = 'trn.product_id'; return $objQuery->count($table, '', $where, $arrVal, $groupby); } |
468 |
投稿日時: 2018/2/6 19:05
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: マイページ内に新設した一覧ページにてのページング機能設定につきまして。 $objQuery->count($table, '', $where, $group, $arrVal); を呼び出されていますが、
/data/class/SC_Query.php の中は変更を加えられていますか? デフォルトの記述では下記のようになっていて、 group byに対応していないように思えるのですが・・・。
|
zenta |
投稿日時: 2018/2/6 1:47
対応状況: −−−
|
常連 登録日: 2016/10/18 居住地: 投稿: 59 |
マイページ内に新設した一覧ページにてのページング機能設定につきまして。 いつも大変お世話になっております。どうかご指導お願い申し上げます。
マイページに新設した一覧ページにて(1 2 3 次へ>>)の様に表示されるページングの機能を付加する必要があるため、それ用に新たに作成したテーブルから、当一覧ページを抽出する条件と同じ条件の基、ページング用の行数のカウントをしなければなりません。 そのため以下の様な記述を設定致しましたが、以下のwhere句、group句が全く機能していない様で、その新設テーブル内の全行数をカウントし、ページング機能に反映させてしまいます。 どこに問題があるかご指摘、アドバイス等頂けませんでしょうか。 *新設一覧ページ内のページング機能箇所 <!--{$tpl_strnavi}--> *そのphpファイル内 $linemax = $objProduct->findProductCount($objQuery, $arrWhereVal); *sc_product.php内 function findProductCount(&$objQuery, $arrVal = array()) { $table = <<< __EOS__ dtb_product_tran AS trn __EOS__; $where = $_SESSION['member_id'].'= trn.creator_id'; $group = 'GROUP BY trn.product_id'; return $objQuery->count($table, '', $where, $group, $arrVal); } |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |