バージョン選択

フォーラム

メニュー

オンライン状況

38 人のユーザが現在オンラインです。 (30 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 38
もっと...

サイト内検索

質問 > 管理機能 > メンバー管理での商品管理

管理機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
paprika03
投稿日時: 2013/11/6 20:11
対応状況: −−−
新米
登録日: 2013/11/2
居住地:
投稿: 8
Re: メンバー管理での商品管理
bratech 様
ありがとうございました、無事に動作致しました!

namahage様
本当に、ありがとうございました無事に動作致しました!


bratech
投稿日時: 2013/11/6 18:09
対応状況: −−−
長老
登録日: 2008/11/28
居住地: 福岡
投稿: 223
Re: メンバー管理での商品管理
そのSQLであれば以下のように変更されてみてはいかがでしょうか?


$where = "alldtl.creator_id = ".$member_id;


失礼ながらあまり深く理解せずに回答しておりますので
ご希望の動作になるのかどうかまでは分かりませんので
その点ご了承ください。


----------------
★売れる通販サイト作ります! ========================
(株)ブラテック EC-CUBEカスタマイズサービス
http://www.bratech.co.jp/lpo/eccube.html
==============================================

paprika03
投稿日時: 2013/11/6 17:52
対応状況: −−−
新米
登録日: 2013/11/2
居住地:
投稿: 8
Re: メンバー管理での商品管理
bratech 様
返答ありがとうございます、行なって見ましたが・・・
message: Unknown column 'dtb_products.creator_id' in 'where clause']

となってしまいました・・・なにかバージョン等で違う可能性がありますでしょうかご教授頂けると幸いです。

--------デバッグ情報--------

SQL: SELECT product_id, name, main_list_image, status, product_code_min, product_code_max, price02_min, price02_max, stock_min, stock_max, stock_unlimited_min, stock_unlimited_max, update_date FROM ( SELECT 0 ,dtb_products.product_id ,dtb_products.name ,dtb_products.maker_id ,dtb_products.status ,dtb_products.comment1 ,dtb_products.comment2 ,dtb_products.comment3 ,dtb_products.comment4 ,dtb_products.comment5 ,dtb_products.comment6 ,dtb_products.note ,dtb_products.main_list_comment ,dtb_products.main_list_image ,dtb_products.main_comment ,dtb_products.main_image ,dtb_products.main_large_image ,dtb_products.sub_title1 ,dtb_products.sub_comment1 ,dtb_products.sub_image1 ,dtb_products.sub_large_image1 ,dtb_products.sub_title2 ,dtb_products.sub_comment2 ,dtb_products.sub_image2 ,dtb_products.sub_large_image2 ,dtb_products.sub_title3 ,dtb_products.sub_comment3 ,dtb_products.sub_image3 ,dtb_products.sub_large_image3 ,dtb_products.sub_title4 ,dtb_products.sub_comment4 ,dtb_products.sub_image4 ,dtb_products.sub_large_image4 ,dtb_products.sub_title5 ,dtb_products.sub_comment5 ,dtb_products.sub_image5 ,dtb_products.sub_large_image5 ,dtb_products.sub_title6 ,dtb_products.sub_comment6 ,dtb_products.sub_image6 ,dtb_products.sub_large_image6 ,dtb_products.del_flg ,dtb_products.creator_id ,dtb_products.create_date ,dtb_products.update_date ,dtb_products.deliv_date_id ,T4.product_code_min ,T4.product_code_max ,T4.price01_min ,T4.price01_max ,T4.price02_min ,T4.price02_max ,T4.stock_min ,T4.stock_max ,T4.stock_unlimited_min ,T4.stock_unlimited_max ,T4.point_rate ,T4.deliv_fee ,T4.class_count ,dtb_maker.name AS maker_name FROM dtb_products JOIN ( SELECT product_id, MIN(product_code) AS product_code_min, MAX(product_code) AS product_code_max, MIN(price01) AS price01_min, MAX(price01) AS price01_max, MIN(price02) AS price02_min, MAX(price02) AS price02_max, MIN(stock) AS stock_min, MAX(stock) AS stock_max, MIN(stock_unlimited) AS stock_unlimited_min, MAX(stock_unlimited) AS stock_unlimited_max, MAX(point_rate) AS point_rate, MAX(deliv_fee) AS deliv_fee, COUNT(*) as class_count FROM dtb_products_class GROUP BY product_id ) AS T4 ON dtb_products.product_id = T4.product_id LEFT JOIN dtb_maker ON dtb_products.maker_id = dtb_maker.maker_id LEFT JOIN dtb_member ON dtb_products.creator_id = dtb_member.member_id WHERE dtb_products.creator_id = dtb_member.member_id ) AS alldtl WHERE dtb_products.creator_id = 2

MDB2 Error: no such field

_doQuery: [Error message: Could not execute statement]
[Last executed query: PREPARE mdb2_statement_mysql_XXXX FROM 'SELECT product_id, name, main_list_image, status, product_code_min, product_code_max, price02_min, price02_max, stock_min, stock_max, stock_unlimited_min, stock_unlimited_max, update_date FROM ( SELECT 0 ,dtb_products.product_id ,dtb_products.name ,dtb_products.maker_id ,dtb_products.status ,dtb_products.comment1 ,dtb_products.comment2 ,dtb_products.comment3 ,dtb_products.comment4 ,dtb_products.comment5 ,dtb_products.comment6 ,dtb_products.note ,dtb_products.main_list_comment ,dtb_products.main_list_image ,dtb_products.main_comment ,dtb_products.main_image ,dtb_products.main_large_image ,dtb_products.sub_title1 ,dtb_products.sub_comment1 ,dtb_products.sub_image1 ,dtb_products.sub_large_image1 ,dtb_products.sub_title2 ,dtb_products.sub_comment2 ,dtb_products.sub_image2 ,dtb_products.sub_large_image2 ,dtb_products.sub_title3 ,dtb_products.sub_comment3 ,dtb_products.sub_image3 ,dtb_products.sub_large_image3 ,dtb_products.sub_title4 ,dtb_products.sub_comment4 ,dtb_products.sub_image4 ,dtb_products.sub_large_image4 ,dtb_products.sub_title5 ,dtb_products.sub_comment5 ,dtb_products.sub_image5 ,dtb_products.sub_large_image5 ,dtb_products.sub_title6 ,dtb_products.sub_comment6 ,dtb_products.sub_image6 ,dtb_products.sub_large_image6 ,dtb_products.del_flg ,dtb_products.creator_id ,dtb_products.create_date ,dtb_products.update_date ,dtb_products.deliv_date_id ,T4.product_code_min ,T4.product_code_max ,T4.price01_min ,T4.price01_max ,T4.price02_min ,T4.price02_max ,T4.stock_min ,T4.stock_max ,T4.stock_unlimited_min ,T4.stock_unlimited_max ,T4.point_rate ,T4.deliv_fee ,T4.class_count ,dtb_maker.name AS maker_name FROM dtb_products JOIN ( SELECT product_id, MIN(product_code) AS product_code_min, MAX(product_code) AS product_code_max, MIN(price01) AS price01_min, MAX(price01) AS price01_max, MIN(price02) AS price02_min, MAX(price02) AS price02_max, MIN(stock) AS stock_min, MAX(stock) AS stock_max, MIN(stock_unlimited) AS stock_unlimited_min, MAX(stock_unlimited) AS stock_unlimited_max, MAX(point_rate) AS point_rate, MAX(deliv_fee) AS deliv_fee, COUNT(*) as class_count FROM dtb_products_class GROUP BY product_id ) AS T4 ON dtb_products.product_id = T4.product_id LEFT JOIN dtb_maker ON dtb_products.maker_id = dtb_maker.maker_id LEFT JOIN dtb_member ON dtb_products.creator_id = dtb_member.member_id WHERE dtb_products.creator_id = dtb_member.member_id ) AS alldtl WHERE dtb_products.creator_id = 2 ']
[Native code: 1054]
[Native message: Unknown column 'dtb_products.creator_id' in 'where clause']
bratech
投稿日時: 2013/11/6 9:23
対応状況: −−−
長老
登録日: 2008/11/28
居住地: 福岡
投稿: 223
Re: メンバー管理での商品管理
横やりですいません。

エラー内容を拝見しただけですが、"WHERE"の部分がいらないとかですかね?


$where = "dtb_products.creator_id = ".$member_id;


ANDやORでつなぐ必要があるのかもしれませんが、そこは何とも言えません・・・


----------------
★売れる通販サイト作ります! ========================
(株)ブラテック EC-CUBEカスタマイズサービス
http://www.bratech.co.jp/lpo/eccube.html
==============================================

paprika03
投稿日時: 2013/11/5 22:52
対応状況: −−−
新米
登録日: 2013/11/2
居住地:
投稿: 8
Re: メンバー管理での商品管理
本当にお手数をおかけして申し訳ございませんありがとうございます。
LC_Page_Admin_Products.phpは下記のように変更し実行してみたところ、エラーが出てしまい、返信させて頂きました。

// 読み込む列とテーブルの指定
$col = "product_id, name, main_list_image, status, product_code_min, product_code_max, price02_min, price02_max, stock_min, stock_max, stock_unlimited_min, stock_unlimited_max, update_date";

$member_id = $_SESSION['member_id'];
$objProduct = new SC_Product_Ex();
$from = $objProduct->alldtlSQL($where_products_class = '');
if ($member_id != 0){
$where = "WHERE dtb_products.creator_id = ".$member_id;
}

return $objQuery->select($col, $from, $where, $arrValues);
}
}

=====デバック情報一部======
MDB2 Error: syntax error

_doQuery: [Error message: Could not execute statement]
[Last executed query: PREPARE mdb2_statement_mysql_XXXXテーブル名が続きます・・・

[Native code: 1064]
[Native message: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE dtb_products.creator_id = 6' at line 1]

=====ここまで=====

情報が長く一部抜粋してみたのですが見当違いの場所を抜粋していましたらご指摘ください。

こんなに、お手数をおかけして申し訳ございません何卒よろしくお願い申し上げます。
namahage
投稿日時: 2013/11/5 20:09
対応状況: −−−
長老
登録日: 2013/2/28
居住地: 大阪
投稿: 198
Re: メンバー管理での商品管理

if ($member_id == 0){
$from = $objProduct->alldtlSQL($where_products_class = '');}
else{
$from = $objProduct->alldtlSQL2($where_products_class = '');
$where = "WHERE dtb_products.creator_id = ".$member_id;
}


alldtlSQL2って関数がありませんて書いてます。おそらくここは、alldtlSQLで良いと思います。

$from = $objProduct->alldtlSQL($where_products_class = '');
if ($member_id != 0){
$where = "WHERE dtb_products.creator_id = ".$member_id;
}

にしてください。
paprika03
投稿日時: 2013/11/5 19:56
対応状況: −−−
新米
登録日: 2013/11/2
居住地:
投稿: 8
Re: メンバー管理での商品管理
namahage 様
ありがとうございます、初心者の質問に答えて頂けて大変感謝しております。

早速SC_Product.php820行目付近へ記載してみたのですが
申し訳ございません上手く動かすことが出来ませんでした。

LEFT JOIN dtb_member
ON dtb_products.creator_id = dtb_member.member_id
WHERE dtb_products.creator_id = dtb_member.member_id;
$where_clause
) as prdcls
__EOS__;
return $sql;
}

-----デバッグ情報-----
Fatal error: Call to undefined method SC_Product_Ex::alldtlSQL2() in /data/class/pages/admin/products/LC_Page_Admin_Products.php on line 391
-----デバッグ情報ここまで-----

LC_Page_Admin_Products.phpの記載を私が間違えたのでしょうか。

$member_id = $_SESSION['member_id'];
$objProduct = new SC_Product_Ex();
if ($member_id == 0){
$from = $objProduct->alldtlSQL($where_products_class = '');}
else{
$from = $objProduct->alldtlSQL2($where_products_class = '');
$where = "WHERE dtb_products.creator_id = ".$member_id;
}
return $objQuery->select($col, $from, $where, $arrValues);

お忙しいところ申し訳ございません、ご教授頂けると幸いです。
namahage
投稿日時: 2013/11/5 18:13
対応状況: −−−
長老
登録日: 2013/2/28
居住地: 大阪
投稿: 198
Re: メンバー管理での商品管理

If (dtb_member.authority == 1) 

dtb_member.authority == 1ってのは、
ログインしているユーザの権限が店舗オーナーだった場合という制御になります。
僕がご案内させていただいたURLの内容が「店舗オーナーは自らが登録した商品だけしか検索できないようにしたい」という件名だったためにこういった制御があります。

今回はとくにこういった制御はないので、必要ありません。


LEFT JOIN dtb_member
ON dtb_products.creator_id = dtb_member.member_id
WHERE dtb_products.creator_id = dtb_member.member_id;

としていただいて結構ですよ。
paprika03
投稿日時: 2013/11/5 17:07
対応状況: −−−
新米
登録日: 2013/11/2
居住地:
投稿: 8
Re: メンバー管理での商品管理
namahage様
丁寧な、説明ありがとうございます。
SC_Product.phpでのSQL切り替え部分についてなのですが、
スレッド先では下記のようになっておりましたが
こちらの部分の記述についてもご教授頂けないでしょうか・・・
お忙しいところ申し訳ありません。

(引用)SC_Product.php761行目付近
LEFT JOIN dtb_maker
ON dtb_products.maker_id = dtb_maker.maker_id

************        
LEFT JOIN dtb_member
ON dtb_products.creator_id = dtb_member.member_id

If (dtb_member.authority == 1)
{WHERE dtb_products.creator_id = dtb_member.member_id AND dtb_member.login_date > DATE_ADD(NOW(),INTERVAL 1 MIN);}
else {WHERE dtb_products.creator_id = dtb_member.member_id;}
************

) AS alldtl __EOS__; return $sql;}

namahage
投稿日時: 2013/11/5 16:45
対応状況: −−−
長老
登録日: 2013/2/28
居住地: 大阪
投稿: 198
Re: メンバー管理での商品管理

if ($val['dtb_member.authority'] == 0){

は、

if ($member_id == 0){

に修正。

}else{
$from = $objProduct->alldtlSQL2($where_products_class = ''); 
}
WHERE dtb_products.creator_id = $member_id

は、

}else{
$from = $objProduct->alldtlSQL2($where_products_class = '');
$where = "WHERE dtb_products.creator_id = ".$member_id;
}

にしてください。

(1) 2 »
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,838名です
総投稿数は109,985件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1291
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.