バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 注文番号を日付+連番にしたい

フロント機能

新規スレッドを追加する

| 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
yukikaze
投稿日時: 2011/11/1 15:11
対応状況: −−−
長老
登録日: 2011/7/26
居住地:
投稿: 196
Re: 注文番号を日付+連番にしたい
ALTER TABLE dtb_order_order_id_seq AUTO_INCREMENT = 1;
ALTER TABLE dtb_order_detail_order_detail_id_seq AUTO_INCREMENT = 1;

を実行です。
yukikaze
投稿日時: 2011/11/1 15:24
対応状況: −−−
長老
登録日: 2011/7/26
居住地:
投稿: 196
Re: 注文番号を日付+連番にしたい
「システムエラー」はどの時点から表示されますか?
サイトは最初の画面からですか?
管理画面も最初からですか?(Login画面もでてこない?)
IeNeko
投稿日時: 2011/11/1 17:54
対応状況: −−−
常連
登録日: 2011/10/18
居住地:
投稿: 36
Re: 注文番号を日付+連番にしたい
引用:

yukikazeさんは書きました:
ALTER TABLE dtb_order_order_id_seq AUTO_INCREMENT = 1;
ALTER TABLE dtb_order_detail_order_detail_id_seq AUTO_INCREMENT = 1;

を実行です。

大変申し訳ありませんが、どこでこれを実行したらよいのかわかりません。
「SQL」というタブのところに上記を書きこんで、「実行する」ボタンを押せばいいということでしょうか?
やってみたのですが、変化はみられないようです。

引用:

yukikazeさんは書きました:
「システムエラー」はどの時点から表示されますか?
サイトは最初の画面からですか?
管理画面も最初からですか?(Login画面もでてこない?)

「システムエラー」ですが、ログイン画面すら出ずに、エラーと表記されます。


申し訳ありませんが、どこで実行すればいいのか、教えていただくと幸いです。
よろしくお願いします。
yukikaze
投稿日時: 2011/11/2 9:21
対応状況: −−−
長老
登録日: 2011/7/26
居住地:
投稿: 196
Re: 注文番号を日付+連番にしたい
phpMyAdminの「SQL」で実行します。
変化がみられないとは、初期値が変わらないということでしょうか?それともエラーが解消されないということでしょうか?
ALTER文は1行ずつ実行して下さいね。

ログイン画面すら出ずに「システムエラー」ということは、受注テーブルは関係ないのでは?
ちなみに、data/cache/mtb_constants.php の「DEBUG_MODE」を『true』に変更すると、デバッグが表示されます。
システムエラーの後に何と表示されますか?
IeNeko
投稿日時: 2011/11/2 23:30
対応状況: −−−
常連
登録日: 2011/10/18
居住地:
投稿: 36
Re: 注文番号を日付+連番にしたい
いつもありがとうございます。
引用:

yukikazeさんは書きました:
phpMyAdminの「SQL」で実行します。
変化がみられないとは、初期値が変わらないということでしょうか?それともエラーが解消されないということでしょうか?
ALTER文は1行ずつ実行して下さいね。

それぞれの「表示」タブにあるsequenceという数字を0にしてから実行したら、初期値が1になりました。

引用:

ログイン画面すら出ずに「システムエラー」ということは、受注テーブルは関係ないのでは?
ちなみに、data/cache/mtb_constants.php の「DEBUG_MODE」を『true』に変更すると、デバッグが表示されます。
システムエラーの後に何と表示されますか?

エラーメッセージは、サイトの中央に出るのです。
ヘッダーなどは機能しているらしく、ロゴなどは出ています。

■システムエラーとは出ませんが、やってみてエラー情報と思われるものは下記の通りです。

▼▼▼ エラーメッセージ ▼▼▼
https://creon.cre1000.com/ec/

SERVER_ADDR: 【数字】
REMOTE_ADDR: 【数字】
USER_AGENT: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; Sleipnir/2.9.8)

SQL: SELECT sess_data FROM dtb_session WHERE sess_id = ?

MDB2 Error: connect failed

_doconnect: [Error message: Access denied for user '【ぴーーー】' (using password: YES)]
[Native code: 1045]
[Native message: Access denied for user '【ぴーーー】' (using password: YES)]


/home/crescend/cre1000.com/public_html/creon/ec/index.php 24:require_once
/home/crescend/cre1000.com/public_html/creon/ec/require.php 37:require_once
/home/crescend/cre1000.com/public_html/creon/ec/data/require_base.php 48:sc_sessionfactory_usecookie->initsession
/home/crescend/cre1000.com/public_html/creon/ec/data/class/session/sessionfactory/SC_SessionFactory_UseCookie.php 55:session_start
:sc_helper_session_ex-▲▲▲ エラーメッセージ ▲▲▲


この上に、デバック情報というものがありました。
こちらではなく、そっちだったなら、もう一度載せますので言ってください。
上のエラーメッセージのすぐ下のURLは「https」となっていますが、実際は「s」は入りません。

もしかしたら、違うところもいじってしまっていたのでしょうか?
よろしくお願いします。
yukikaze
投稿日時: 2011/11/4 9:25
対応状況: −−−
長老
登録日: 2011/7/26
居住地:
投稿: 196
Re: 注文番号を日付+連番にしたい
返答が遅くなり、申し訳ありません。

これ、DB接続できてませんよね?
DB接続に関する設定を、再度見直された方が良いと思います。

また、エラーメッセージの末尾にある index.php などのエラーですが、require_onceの書き方とか変更してませんよね?
IeNeko
投稿日時: 2011/11/5 0:02
対応状況: −−−
常連
登録日: 2011/10/18
居住地:
投稿: 36
Re: 注文番号を日付+連番にしたい
お忙しい中、ありがとうございます。

DB接続に関する設定は、調べて見なおして見る事にします。

■require_onceの書き方
ですが、これはどこにあるのでしょうか?
FTPソフトでアップロードするものは、文章等の内容を書き換えたものも、ページを追加したものもあります。

この際、インストールしなおした方がいいのでしょうか・・・
IeNeko
投稿日時: 2011/11/6 1:54
対応状況: −−−
常連
登録日: 2011/10/18
居住地:
投稿: 36
Re: 注文番号を日付+連番にしたい
助言ありがとうございました。
色々調べてみた結果、表示されない理由が判明しました。

サーバーの管理人が、自分が管理&私にいじられないようにと、SQLのパスワードを変更していたからでした
data/config/config.php 内のパスワードを現在の物に変えたところ、正常に表示されるようになりました。

なので、バックアップもしっかり取りましたので、以前の続きをやりたいと思います。
1〜3は前回教えていただいた通りに作っております。

引用:

4.こっからPGのお話
 dtb_order[TBL]へINSERTする SC_Helper_Purchase.php registerOrder[FUNCTION] で「$objQuery->insert($table, $arrValues);」の前に

 UPDATE `C` SET id=LAST_INSERT_ID(id+1);
 SELECT LAST_INSERT_ID; →D

 を実行し、その結果を

 $arrValues['A'] = date('YYYYMMDD');
 $arrValues['B'] = D;

こんな感じで。

まずは、data/class/helper/SC_Helper_Purchase.phpの【$objQuery->insert($table, $arrValues);】ですが
registerOrder[FUNCTION]がわかりませんでしたので、どれだかわかりませんでした。
・687行目の「配達情報の登録を行う」
・854行目の「受注情報を登録する」
・885行目の「受注詳細情報を登録する」
の3箇所にありました。
この中のどれかの【$objQuery->insert($table, $arrValues);】の前の行に

 UPDATE `C` SET id=LAST_INSERT_ID(id+1);
 SELECT LAST_INSERT_ID; →D

と入れればいいのでしょうか?

そして、

 $arrValues['A'] = date('YYYYMMDD');
 $arrValues['B'] = D;

はどこに書きこめばいいのでしょうか?

安堵と疲れで、頭が混乱しているようです。
よろしければ、最後までご教授お願いいたします。
yukikaze
投稿日時: 2011/11/7 10:23
対応状況: −−−
長老
登録日: 2011/7/26
居住地:
投稿: 196
Re: 注文番号を日付+連番にしたい
返答が遅くなり申し訳ありません。

やっぱり原因はDB設定の部分でしたか。
とは言え、勝手にパスワード変更って…アナウンスないんですね(苦笑

2.11.2の環境がないので、2.11.1で記載します。
基本は同じなので!

registerOrder[Function]は、data/class/helper/SC_Helper_Purchase.php の798行にあります。また、【$objQuery->insert($table, $arrValues);】は831行です。

 UPDATE `C` SET id=LAST_INSERT_ID(id+1);
 SELECT LAST_INSERT_ID; →D

コレは、831行の前にUpdate文を入れて下さいの意味。
記載方法はいくつかあると思いますが、例えば

 $objQuery->query("UPDATE `C` SET id=LAST_INSERT_ID(id+1);");
 $D = $objQuery->getOne("SELECT LAST_INSERT_ID;");

になります。
SC_Helper_Purchase.phpに書くと

 $arrValues['update_date'] = 'now()';
 $objQuery->query("UPDATE `C` SET id=LAST_INSERT_ID(id+1);");
 $D = $objQuery->getOne("SELECT LAST_INSERT_ID;");
 $arrValues['A'] = date('YYYYMMDD');
 $arrValues['B'] = $D;
 $objQuery->insert($table, $arrValues);

動作確認してませんが、こんな感じでしょうか?

IeNeko
投稿日時: 2011/11/8 12:37
対応状況: −−−
常連
登録日: 2011/10/18
居住地:
投稿: 36
Re: 注文番号を日付+連番にしたい
引用:

yukikazeさんは書きました:
返答が遅くなり申し訳ありません。

やっぱり原因はDB設定の部分でしたか。
とは言え、勝手にパスワード変更って…アナウンスないんですね(苦笑

お忙しい中、いつも感謝しております。
サイト自体は正常に稼働しているようなので、お時間のある時でよいのでお願いします。

自営業の小さなお店なので、管理しているのは義弟なんですけどね
前にお店のページを消しちゃってる前科があるので、信用ないんですよ

引用:

2.11.2の環境がないので、2.11.1で記載します。
基本は同じなので!

registerOrder[Function]は、data/class/helper/SC_Helper_Purchase.php の798行にあります。また、【$objQuery->insert($table, $arrValues);】は831行です。

 UPDATE `C` SET id=LAST_INSERT_ID(id+1);
 SELECT LAST_INSERT_ID; →D

コレは、831行の前にUpdate文を入れて下さいの意味。
記載方法はいくつかあると思いますが、例えば

 $objQuery->query("UPDATE `C` SET id=LAST_INSERT_ID(id+1);");
 $D = $objQuery->getOne("SELECT LAST_INSERT_ID;");

になります。
SC_Helper_Purchase.phpに書くと

 $arrValues['update_date'] = 'now()';
 $objQuery->query("UPDATE `C` SET id=LAST_INSERT_ID(id+1);");
 $D = $objQuery->getOne("SELECT LAST_INSERT_ID;");
 $arrValues['A'] = date('YYYYMMDD');
 $arrValues['B'] = $D;
 $objQuery->insert($table, $arrValues);

動作確認してませんが、こんな感じでしょうか?


丁寧にありがとうございます。
英字を見ると頭痛がしてくるので、勉強できていなくて申し訳ないです。

残念ながらregisterOrder[Function]はありませんでしたが、
 $arrValues['update_date'] = 'now()';
 $objQuery->insert($table, $arrValues);
が並んでる場所が686〜687行目にありました。
この間に上記のものを書き込みました。

呼び出す方はどう書けばよいのでしょうか?
よろしくお願いします。
« 1 2 (3) 4 5 6 »
| 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は89,421名です
総投稿数は110,086件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1652
8
red
1570
9
mcontact
1305
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.