質問 > 管理機能 > 受注管理画面に商品名を記載する方法について |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ricarica |
投稿日時: 2011/10/3 14:23
対応状況: −−−
|
常連 登録日: 2011/8/22 居住地: 投稿: 48 |
受注管理画面に商品名を記載する方法について いつもお世話になってます。
受注管理の検索後の検索結果一覧に 商品名を表記したいのです。 tplファイルでは、商品名の項目を追加スミ そして、変数 $arrResult の内容を見たのですが、商品名(prduct_name)が入っていないのですが、 どのように記述すればよろしいのでしょうか? 旧バージョンのCSV出力に項目追加のスレを見たのですが、 dtb_data の同一テーブル内に無ければ表記が難しいとあったのですが、ver2.11.1も同じなのでしょうか? おわかりになる方、教えてください。 どうぞ宜しくお願いします。 =============仕様=============================== EC-CUBE 2.11.1 PHP Version 5.3.5 データベース MySQL 5.5.8 WEBサーバ Apache ================================================ |
yukikaze |
投稿日時: 2011/10/3 15:45
対応状況: −−−
|
長老 登録日: 2011/7/26 居住地: 投稿: 196 |
Re: 受注管理画面に商品名を記載する方法について tplに項目は追加したけど、そのデータがない…といぅことで、いいでしょうか?
LC_Page_Admin_Order.php の findOrders[Function] を修正する必要があると思います。 return $objQuery->select('*', 'dtb_order', $where, $arrValues); ↓ return $objQuery->select('dtb_order.*, dtb_order_detail.product_name', 'dtb_order INNER JOIN dtb_order_detail USING (order_id)', $where, $arrValues); これで $arrResult に 商品名(prduct_name)が入ってきます。 |
ricarica |
投稿日時: 2011/10/3 16:16
対応状況: 解決済
|
常連 登録日: 2011/8/22 居住地: 投稿: 48 |
Re: 受注管理画面に商品名を記載する方法について ありがとうございます。
(;; 感謝です。 おっしゃるとおりになりました。 ありがとうございます。 |
ricarica |
投稿日時: 2011/10/3 17:18
対応状況: −−−
|
常連 登録日: 2011/8/22 居住地: 投稿: 48 |
Re: 受注管理画面に商品名を記載する方法について すみません。先ほどはありがとうございました。
そこで、もうひとつだけご教授いただきたいのですが、お願いします。 先ほどの INNER JOIN で、テーブルをつなぐ方法だと思うのですが、3つをつなぐ場合、以下のようにした場合 return $objQuery->select('dtb_order.*, dtb_order_detail.product_name, eccube_db.*','dtb_order INNER JOIN "'dtb_order INNER JOIN eccube_db USING (order_id)', $where, $arrValues" 'dtb_order_detail USING (order_id)', $where, $arrValues); どこがおかしいのでしょうか?どうぞ教えてください。 宜しくお願いします。 |
yukikaze |
投稿日時: 2011/10/3 17:35
対応状況: −−−
|
長老 登録日: 2011/7/26 居住地: 投稿: 196 |
Re: 受注管理画面に商品名を記載する方法について FROM部分が…(^^;
引用:
FROM部分が…(汗 'dtb_order INNER JOIN "'dtb_order INNER JOIN eccube_db USING (order_id)', $where, $arrValues" 'dtb_order_detail USING (order_id)' まず、使用したいテーブルは次の3つですね。 dtb_order dtb_order_detail eccube_db そして、それぞれを繋ぐKeyは order_id ですね。 であれば、FROM部分を 'dtb_order INNER JOIN dtb_order_detail USING (order_id) INNER JOIN eccube_db USING (order_id)' で。 Keyが異なるのであれば、 'dtb_order INNER JOIN dtb_order_detail USING (order_id) INNER JOIN eccube_db ON dtb_order_detail.dtb_order_detail = eccube_db.xxxx' という感じで。 ちなみに INNER JOIN ですので、双方が連結することを前提にしています。 eccube_db 側に情報が欠落することがあるのであれば、 LEFT JOIN を使ってみて下さい。 助言になりましたでしょうか? |
ricarica |
投稿日時: 2011/10/3 17:59
対応状況: −−−
|
常連 登録日: 2011/8/22 居住地: 投稿: 48 |
Re: 受注管理画面に商品名を記載する方法について 何度もありがとうございます。
テーブル3個で KEYは order_id です。 FROM部分ということで、教えていただいたとおり? のはずなのですが、ならないのです。 return $objQuery->select('dtb_order.*, dtb_order_detail.product_name, eccube_db.*', 'dtb_order INNER JOIN dtb_order_detail USING (order_id) LEFT JOIN eccube_db USING (order_id)', $where, $arrValues); そして、eccube_dbは、順序がバラけてますので、 LEFT JOIN を使いました。 どこがおかしいのでしょうか? お手数おかけしますがお願いします。 |
ricarica |
投稿日時: 2011/10/3 18:12
対応状況: −−−
|
常連 登録日: 2011/8/22 居住地: 投稿: 48 |
Re: 受注管理画面に商品名を記載する方法について すみません。
なりました。(。。; 書き足しながら記述していた為、全角スペースが入ってたようです。 削除したらできました。 ありがとうございます。 かなり勉強になりました。 |
yukikaze |
投稿日時: 2011/10/4 9:14
対応状況: −−−
|
長老 登録日: 2011/7/26 居住地: 投稿: 196 |
Re: 受注管理画面に商品名を記載する方法について 解決しているので、余談です。
個人的に…ですが、複数のテーブルを扱う場合、「$objQuery->select」よりも「$objQuery->getAll」の方が見やすいと思います。 ヒアドキュメント使ってSQLを見易く記載。 条件だけ、外だしする。 ----- ここから ----- $sql = <<< EOF SELECT dtb_order.*, dtb_order_detail.product_name, eccube_db.* FROM dtb_order INNER JOIN dtb_order_detail USING (order_id) LEFT JOIN eccube_db USING (order_id) WHERE {$where} ; EOF; return $objQuery->getAll($sql, $arrValues); ----- ここまで ----- $sql内の{$where}を変数ではなく、直書きの方見やすいです。 SQLの動作確認を行う上でも便利です。 EC-CUBE的に推奨しているかは分かりませんが…あくまでも個人的に…です。 |
markun |
投稿日時: 2012/4/19 16:09
対応状況: −−−
|
新米 登録日: 2012/4/9 居住地: 投稿: 4 |
Re: 受注管理画面に商品名を記載する方法について はじめまして。
現在社内購買サイトを構築中の初心者でございます。 こちらの記述を利用させて頂きまして、受注管理画面の商品表示はできました。 どなたか教えて頂きたいのですが、この記述ですと対応状況を変更しますと、同じ注文番号の他の商品の対応状況も変わってしまいます。 対応状況を分ける方法と記述を教えて頂けますと助かります。 よろしくお願いします。 --------------------------------- EC-CUBE 2.11.4 DBサーバー MySQL 5.5.15-log WEBサーバー Apache/1.3.42 (Unix) PHP 5.2.17 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |