質問 > フロント機能 > ユーザーがレビューを投稿する際に、Dtb_reviewに新設したreview2_idというカラムに、レビューしようとしている商品が所有しているデータを挿入する方法をご教授いただけませんでしょうか。 |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
zenta |
投稿日時: 2017/1/25 0:42
対応状況: −−−
|
常連 登録日: 2016/10/18 居住地: 投稿: 59 |
ユーザーがレビューを投稿する際に、Dtb_reviewに新設したreview2_idというカラムに、レビューしようとしている商品が所有しているデータを挿入する方法をご教授いただけませんでしょうか。 いつもお世話になっております。どうかアドバイスを頂けませんでしょうか。
レビュー投稿機能で諸事情により、LC_Page_Products_Review.phpのlfRegistRecommendDataにある登録機能を利用し、Dtb_reviewに新規作成したreview2_idというカラムに、レビューしようとしている商品が所有している、こちらもdtb_productsに新規作成したc_idのデータを挿入しなければいけません。 (理由は話が複雑になり、かつ混乱いたしますので割愛) どのような方法で、それを実現できるか、最適な方法などご教授いただけませんでしょうか。 試した方法は以下になりますが、エラーはでないものの、データを挿入することができません。 Php側 function action() { //cn_idの取得 $this->c_id = $this->lfGetCnID($this->arrForm['c_id']); } function lfGetCnID ($product_id) { $objQuery =& SC_Query_Ex::getSingletonInstance(); return $objQuery->get('c_id', 'dtb_products', 'product_id = ? AND del_flg = 0 AND status = 1', array($product_id)); } //登録実行 function lfRegistRecommendData(&$objFormParam , $arrList) { $objQuery =& SC_Query_Ex::getSingletonInstance(); $objDb = new SC_Helper_DB_Ex(); // 配列の添字を定義 $arrRegist['review2_id'] = $c_id; //-- 登録実行 $objQuery->begin(); $arrRegist['review_id'] = $objQuery->nextVal('dtb_review_review_id'); $objQuery->insert('dtb_review', $arrRegist); $objQuery->commit(); } Smarty側 <form name="form1" id="form1" method="get" action="?"> <input type="hidden" name="review2_id" value="<!--{$c_id|h}-->" </form> EC-CUBE:2.12.5 PHP: 5.2.9 サーバー: Apache2.2.3 データベース: MySQL 5.0 |
tao_s |
投稿日時: 2017/1/25 1:30
対応状況: −−−
|
仙人 登録日: 2008/8/20 居住地: 東京 投稿: 799 |
Re: ユーザーがレビューを投稿する際に、Dtb_reviewに新設したreview2_idというカラムに、レビューしようとしている商品が所有しているデータを挿入する方法をご教授いただけませんでしょうか。 lfGetCnID()はproduct_idからc_idを取得するものの様ですが、抽出条件でc_idを与えていませんか?
あと、取得した値を$this->c_idに入れてるのにlfRegistRecommendData()ではいきなり$c_idとして使用しようとしてたりと、基本的なケアレスミスっぽいのが見当たります。 だいぶ疲れが見えるコードなので、一旦ぐっすり寝て頭をすっきりさせてからもう一度見直してみてはいかがでしょうか?
|
zenta |
投稿日時: 2017/1/28 15:12
対応状況: −−−
|
常連 登録日: 2016/10/18 居住地: 投稿: 59 |
Re: ユーザーがレビューを投稿する際に、Dtb_reviewに新設したreview2_idというカラムに、レビューしようとしている商品が所有しているデータを挿入する方法をご教授いただけませんでしょうか。 tao_s様
ややこしい質問に対してご教授いただきまして感謝いたします。 いろいろと試して、レビュー登録の確認ページでそのc_idの番号を表示させているのですが、それをどのようにしてdbに挿入するかで戸惑っております。 以下は試した記述ですが、前回同様にエラーは出ないもののデータを挿入できません。 このようなケースの場合どうすべきかお分かりになりませんでしょうか。(確認ページに同様に表示される商品名、product_id、review_name, recommend_levelそしてreview_idはdbに挿入されます。) function lfRegistRecommendData(&$objFormParam,$arrList) { $objQuery =& SC_Query_Ex::getSingletonInstance(); $arrRegist = $objFormParam->getDbArray(); $checkArray = array('c_id'); $arrList = SC_Utils_Ex::arrayDefineIndexes($arrList, $checkArray); $arrRegist['create_date'] = 'CURRENT_TIMESTAMP'; $arrRegist['update_date'] = 'CURRENT_TIMESTAMP'; $arrRegist['creator_id'] = '0'; $arrRegist['review2_id'] = $arrList['c_id']; //-- 登録実行 $objQuery->begin(); $arrRegist['review_id'] = $objQuery->nextVal('dtb_review_review_id'); $objQuery->insert('dtb_review', $arrRegist); $objQuery->commit(); } |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |