質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

EC-CUBE

EC-CUBEは、主に日本国内で開発されているECコンテンツ管理システムです。ロックオン社のECKitを元にしてオープンソース化され、商品管理・受注管理・顧客管理・売上集計などECに特化した様々な機能を備えています。

Q&A

解決済

4回答

3606閲覧

EC-CUBEの商品マスタを消しても、検索結果の数だけ0にならない。

141kanae

総合スコア28

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

EC-CUBE

EC-CUBEは、主に日本国内で開発されているECコンテンツ管理システムです。ロックオン社のECKitを元にしてオープンソース化され、商品管理・受注管理・顧客管理・売上集計などECに特化した様々な機能を備えています。

0グッド

0クリップ

投稿2017/03/08 04:30

編集2017/03/08 05:42

###前提・実現したいこと

商品マスタの全件削除

###発生している問題・エラーメッセージ

管理画面内で全て削除したので、商品の一覧部分にはなにも表示されませんが、
検索結果一覧の「■件 が該当しました。」の部分だけ、件数がそのまま残ってしまいました。

イメージ説明

###試したこと

dtb_product系のテーブルで、決まった商品を1つだけ手動で削除してみたのですが、
件数に変化はありませんでした。

商品削除は、普通に削除ボタンで行いました。

「DELETE FROM ●(店舗名)_b2beccube.dtb_products WHERE dtb_products.product_id = ●(product_ID)を本当に実行しますか?」というポップアップが出たのでOKを押した感じです。

イメージ説明

###補足情報(言語/FW/ツール等のバージョンなど)

CSVをダウンロードしても中身が空で、表示件数分のデータは見当たりません。

EC-CUBE B2Bバージョン 1.0.2
EC-CUBEバージョン 2.13.3
PHPバージョン PHP 5.6.24
DBバージョン MySQL 5.7.17

バージョンは上記の通りです。
BtoBを使用しています。


EC-CUBEも初めてで、店舗の製作をまかせた業者にも技術者がいないようで、
直し方が分からなく困っています。

phpMyAdminで色々できるところまでは調べて辿りついたのですが、
どのテーブルでなにをどう編集したら直るのかわからず手をつけられない状態です。

おわかりの方がいらっしゃれば、知恵を貸して頂ければと思います。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

店舗の製作をまかせた業者にも技術者がいない

というのであれば、

  • 認定制作会社に製作を依頼されなかったのでしょうか?
  • 株式会社スピリット・オブか株式会社アイディーエスから購入してVeiwの製作会社に任されたということでしょうか?
  • ●(店舗名)_b2beccube.dtb_products他に関係する処理に手を加えた形跡・依頼はありますか?

管理画面内で全て削除したので、商品の一覧部分にはなにも表示されませんが、
検索結果一覧の「■件 が該当しました。」の部分だけ、件数がそのまま残ってしまいました。

もし、Veiwの製作だけでの納品で、上記現象となれば、EC-CUBE B2Bのバグっぽいので、
購入契約が分からないので何ですが「有償」なのですから、
購入先の「株式会社スピリット・オブか株式会社アイディーエス」に問合せるのが一番かと。

以下は個人的興味です。
状況が、今一つ理解・想像が出来ないので、もしよろしかったら、教えてください。

EC-CUBE B2Bバージョン 1.0.2
EC-CUBEバージョン 2.13.3

と、B2Bと(無償)EC-CUBEの2つのEC-CUBEのバージョンを提示されている理由を教えてください。

  • EC-CUBE B2Bは 「1.0.2」(無償)EC-CUBEのバージョンが2.13.3をラップしているのでしょうか?
  • EC-CUBEバージョン 2.13.3は「練習用」に別途稼動させている、、、ということでしょうか?

DELETE FROM `●(店舗名)_b2beccube...

から推測するに「(無償)EC-CUBEをラップ」では無いと推測してます。
なぜなら、DBのテーブル名、フィールド名が(無償)EC-CUBE 2.12.3とは異なるため、このDBでは(無償)EC-CUBE 2.12.3は(大幅に手を加えないと)動かないはずなので。
この「大幅に手を加えたもの」が「EC-CUBE B2B」というのならば、理解できます。

商品削除は、普通に削除ボタンで行いました。

これは、EC-CUBE B2Bの管理画面内にも「商品管理」タグがあって、そこでの商品削除では

DELETE FROM ●(店舗名)_b2beccube.dtb_products WHERE dtb_products.product_id = ●(product_ID)を本当に実行しますか?

が表示されるという理解でよろしいでしょうか?

それとも、

phpMyAdminで色々できるところまでは調べて辿りついたのですが、
どのテーブルでなにをどう編集したら直るのかわからず手をつけられない状態です。

ということから、phpMyAdminで削除した時の表示でしょうか?

●(店舗名)_b2beccube.dtb_productsのフィールドに「del_flg」が有るかどうか教えてください。
多分、del_flgは有ると思います。
dbのデータを直接操作するには、phpプログラムでの「リレーション」を完璧に理解した上で、
del_flgに「1」を立てたり、レコード削除をする必要があります。

追伸: もしも、phpコードに手を加える様な事になった場合には、 「株式会社スピリット・オブ」の「よくある質問」内の 【ライセンス上の制約】 修正禁止部分は修正しない。 【アップデートを考慮した実装ルール】 class_extendsに記述・オーバーライド とし、対バージョンアップ性を保ってください。

上記の多々質問の回答次第ですが、

EC-CUBEも初めてで、店舗の製作をまかせた業者にも技術者がいないようで、
直し方が分からなく困っています。

  • DBのバックアップがあれば、リストで戻ると思います。
  • DBのバックアップがなければ、E2B再設置後、商品再登録となると思います。

投稿2017/03/09 00:13

編集2017/03/09 03:56
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

141kanae

2017/03/09 01:53

ご丁寧な回答を頂きありがとうございます。 >>認定制作会社に製作を依頼されなかったのでしょうか? >>株式会社スピリット・オブか株式会社アイディーエスから購入してVeiwの製作会社に任されたということでしょうか? 後者です! ライセンスだけスピリット・オブから購入し、弊社とおつきあいがあるWEB制作会社さんに依頼いたしました。 商品登録だけこちらでやっています! >>●(店舗名)_b2beccube.dtb_products他に関係する処理に手を加えた形跡・依頼はありますか? 特に依頼はしていないかと思います。 こちらも初心者ですし、業者さんもEC-CUBEでの事例はあまりない(B2Bは初めてと言っていたような)そうなので、特別難しい処理をしていることは無いと思います。 >>B2Bと(無償)EC-CUBEの2つのEC-CUBEのバージョンを提示されている理由を教えてください。 >>EC-CUBE B2Bは 「1.0.2」(無償)EC-CUBEのバージョンが2.13.3をラップしているのでしょうか? >>EC-CUBEバージョン 2.13.3は「練習用」に別途稼動させている、、、ということでしょうか? それは、私が管理画面の「システム情報」の部分に記載されていた項目をまるまるコピペしたからで、特別な意味はありません…! 混乱させてしまっていたら申し訳ありません…! ラップしているかどうかは、業者さんにおまかせしたっきりなので把握できていない状態です…。 テーブル名などがB2Bなのは、元々企業向けの商材を扱うのでB2Bで製作を依頼しているからだと思っております。 >>商品削除は、EC-CUBE B2Bの管理画面内にも「商品管理」タグがあって、 >>そこでの商品削除では「DELETE FROM ●(店舗名)_b2beccube.dtb_products WHERE dtb_products.product_id = ●(product_ID)を本当に実行しますか?」が表示されるという理解でよろしいでしょうか? >>それとも、phpMyAdminで削除した時の表示でしょうか? 後者の、phpMyAdminからです。 フィールド内に出ている「削除」の部分から消しました。 (質問時に添付している画像の黄色くなっている部分を使いました。) >>●(店舗名)_b2beccube.dtb_productsのフィールドに「del_flg」が有るかどうか教えてください。 フィールドの右の方にあります。 数値は1になってます。 「リレーション」については、理解が及ぶ前に作業してしまっていたと思います…。 E2B再設置については、上司と相談してみます! ご指摘頂いた通りもう少し様子をみて、スピリット・オブさんにも問い合わせてみようかとおもいます。
退会済みユーザー

退会済みユーザー

2017/03/09 03:23 編集

「スピリット・オブ」の「B2B」版のページを見てみました。 まず、問い合わせについては、直接対応はしておらず、「近くのパートナー会社を紹介します」とのことです。 EC-CUBE B2Bは  1.0.2 EC-CUBEバージョン 2.13.3 の関係は >「システム情報」の部分に記載されていた項目をまるまるコピペ と、「スピリット・オブ」の「B2B」版のページの内容で理解出来ました。 B2B 1.0.2 は EC-CUBE2.13.3に「B2B」機能を追加した様です。 DB構造も変更が掛かっているとのことでした。 「有償」ですから、「スピリット・オブから直接の支援は得られない」にしても「交渉して、ちゃんとした対応を得てください。」 正当な『不誠実さ』を感じましたら、また、投稿してください。「開発コミュニティ」経由で、川口さんに聞いてみますので。
guest

0

ベストアンサー

有償ライセンスでソースの公開禁止なので、間違っても、B2Bのコードを公開しない様、注意願います。

個人的興味 + B2Bライセンスを持っていないことから、もし、よかったら、以下の事を試してみて貰えませんか?

E2B再設置については、上司と相談してみます!

B2Bは「cart」urlライセンスなので、素のB2Bをurlに再設置する事は問題ないはず。
素で、管理画面から商品を全削除(論理削除:del_flg=1)して、検索して、0件になるかどうか?

もし、0件にならないなら、B2Bのバグ。
もし、0件になったのなら、Web制作会社が何がしか、間違いを施してしまった。

に、切り分けられると思います。

投稿2017/03/09 09:52

編集2017/03/09 10:12
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

LC_Page_Admin_Products.phpの366行目から以下のコードがあり、そこでtpl_linemaxの値を決めています。

php

1 /** 2 * 検索結果の行数を取得する. 3 * 4 * @param string $where 検索条件の WHERE 句 5 * @param array $arrValues 検索条件のパラメーター 6 * @return integer 検索結果の行数 7 */ 8 public function getNumberOfLines($where, $arrValues) 9 { 10 $objQuery =& SC_Query_Ex::getSingletonInstance(); 11 12 return $objQuery->count('dtb_products', $where, $arrValues); 13 } 14 15``` 16 17特にキャッシュをしているような処理もないようですし、きちんとデータベースからデータが消えてるかは確認されましたでしょうか? 18データが正しく削除されてない可能性があります。 19 20また商品の一括削除を行いたい場合は 21 22備忘録:EC CUBE の商品を全削除して商品IDをリセットする方法 23[http://crushpow.com/archives/1993.html](http://crushpow.com/archives/1993.html) 24 25こちらのサイトを参考にされるとよいかと思います。

投稿2017/03/08 06:34

編集2017/03/08 06:39
masayoshi0222

総合スコア162

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

141kanae

2017/03/08 07:23

ご回答ありがとうございます。 データベース=phpMyAdminと解釈しているのですが、それであっていれば、質問本文にアップロードしている画像の「おなべ」の上に表示されていた商品を削除したので、成功しているかと思います。 オススメ頂いたURLの方法ですが、このトラブルがあった当初に見つけた記事でした! PHPなどに触れるのが今回はじめてなので、全ての作業において自信がなく、ずっと試すのを保留にしておりました…>< 改めて見ると商品情報関係のテーブルだけしか命令文が書いてないの、手動の削除で件数が減らなかったのが不安要素ではありますが、思い切って試してみようかと思います…!
guest

0

ちょっとEC-CUBEのソースコードを詳細に見たわけではないので
原因が特定できませんが、

該当する表示件数は、
\data\class\pages\admin\products\LC_Page_Admin_Products_ProductSelect.phpの
lfGetProducts関数の中でカウントしていると思われます。

1件削除してみた商品がphpmyadminからdelete文で消去したのであれば、また違う謎になりますが・・・

投稿2017/03/08 05:20

s.t.

総合スコア2021

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

141kanae

2017/03/08 05:40

ご回答ありがとうございます…!! 商品削除は、dtb_productsという所を押すと出て来る画面で、普通に削除ボタンで消してしまいました。 「DELETE FROM `●(店舗名)_b2beccube`.`dtb_products` WHERE `dtb_products`.`product_id` = ●(product_ID)を本当に実行しますか?」というポップアップが出たのですが、これがdelete文で間違いなければ、謎になります…><
s.t.

2017/03/08 06:10

EC-CUBEがカスタマイズされている場合、なんとも言えないのですが、 tplファイルに$tpl_linemaxという変数で渡しているはずです。 その$tpl_linemaxを取得している部分がどうなっているのかを見ることができれば、そこにヒントがあるはずです。 ないとは思いますが、もしかするとカテゴリ別商品数テーブルを計算して取ってきている可能性もあります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問