バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

フロント機能

新規スレッドを追加する

| 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
yukikaze
投稿日時: 2011/11/8 14:36
対応状況: −−−
長老
登録日: 2011/7/26
居住地:
投稿: 196
Re: 注文番号を日付+連番にしたい
前科持ちでしたか(笑
じゃぁ〜信用回復には時間がかかりますね(笑
でも兄弟でできるって少しうらやましいです。

ver2.11.1とver2.11.4の両方で、data/class/helper/SC_Helper_Purchase.php に registerOrder[Function] あるんですけど…2.11.2はないのかなぁ?
記載としては「function registerOrder」で見つかるハズなんですが…

686〜687行目といぅのは registerShipping[FUNCTION]じゃないでしょうか?
そこは dtb_shippingテーブルの登録なので、違います。
「受注情報を登録する」というコメントがあると思うのですが…

ありませんか?
(近所だったら見せてみろぉ〜とか言うんですけどね(苦笑
yukikaze
投稿日時: 2011/11/8 16:12
対応状況: −−−
長老
登録日: 2011/7/26
居住地:
投稿: 196
Re: 注文番号を日付+連番にしたい
引用:

呼び出す方はどう書けばよいのでしょうか?


呼び出すとは、dtb_orderテーブルに追加したA,Bフィールドのことでしょうか?
どの画面で使うかによります。
例えば受注管理の検索であれば、LC_Page_Admin_Order.phpのfindOrders[Function]でdtb_orderテーブルの全項目(*)を取得しているので、php側に修正は必要ありません。
data/Smarty/templates/admin/order/index.tpl に「<!--{$arrResults[cnt].A}-->」「<!--{$arrResults[cnt].B}-->」を追加するダケです。

聞きたいことと違ってたらゴメンなさい。
IeNeko
投稿日時: 2011/11/8 18:29
対応状況: −−−
常連
登録日: 2011/10/18
居住地:
投稿: 36
Re: 注文番号を日付+連番にしたい
「受注情報を登録する」は811行目にあり、853〜854行に
 $arrValues['update_date'] = 'now()';
 $objQuery->insert($table, $arrValues);
がありました。
その間に
 $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;
を入れました。

テストしてみたところ、やはり前の場所だと注文が完了できなかったです。
が、今回も注文完了できません。
4行を入れる前にテストしてみたところ、ちゃんと注文されました。

ただ、初注文のはずなのに「ご注文番号:12」になっていました。
注文番号は前からおかしかったので問題ないかと思っています。

引用:

data/Smarty/templates/admin/order/index.tpl に「<!--{$arrResults[cnt].A}-->」「<!--{$arrResults[cnt].B}-->」を追加するダケです。

聞きたいことと違ってたらゴメンなさい。

聞きたかったことはこれです。ありがとうございます。

それと、返信メールなどに記載される注文番号
 ご注文番号:<!--{$arrOrder.order_id}-->
等は変更しなくてもよいのでしょうか?

質問いっぱいで申し訳ないのですが、よろしくお願いします。
yukikaze
投稿日時: 2011/11/9 9:17
対応状況: −−−
長老
登録日: 2011/7/26
居住地:
投稿: 196
Re: 注文番号を日付+連番にしたい
引用:

テストしてみたところ、やはり前の場所だと注文が完了できなかったです。
が、今回も注文完了できません。
4行を入れる前にテストしてみたところ、ちゃんと注文されました。

853〜854行の間に
 $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;
を追加したら、注文完了しなかったんですね。
それは、エラーという意味でしょうか?
もしエラーであれば、エラーメッセージを教えて下さい。
それ以外であれば、注文完了しないとはどういう状態でしょうか?

引用:

ただ、初注文のはずなのに「ご注文番号:12」になっていました。
注文番号は前からおかしかったので問題ないかと思っています。

dtb_order.order_idの値が「12」という意味ですね。
でも、今回使用したい注文番号は A+B なので、関係ないですよね?
1からのスタートにしたいのであれば、AUTO_INCREMENTの値を確認してみて下さい。
戻し方は前の方で書いたよぅな…
 ALTER TABLE dtb_order_order_id_seq AUTO_INCREMENT = 1;
 ALTER TABLE dtb_order_detail_order_detail_id_seq AUTO_INCREMENT = 1;


引用:

それと、返信メールなどに記載される注文番号
 ご注文番号:<!--{$arrOrder.order_id}-->
等は変更しなくてもよいのでしょうか?

A+Bにするので
 ご注文番号:<!--{$arrOrder.A}--><!--{$arrOrder.B}-->
になります。
IeNeko
投稿日時: 2011/11/9 22:49
対応状況: −−−
常連
登録日: 2011/10/18
居住地:
投稿: 36
Re: 注文番号を日付+連番にしたい
いつもありがとうございます。

引用:

yukikazeさんは書きました:
853〜854行の間に
 $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;
を追加したら、注文完了しなかったんですね。
それは、エラーという意味でしょうか?
もしエラーであれば、エラーメッセージを教えて下さい。
それ以外であれば、注文完了しないとはどういう状態でしょうか?

注文完了のボタンをクリックすると、以前と同じ「システムエラーが発生しました。大変お手数ですが、サイト管理者までご連絡ください。」と表示されます。
今日もまたやってみたのですが、同じ表示がでました。
もしかしたら、以前作ったテーブルに何か問題があるのでしょうか?

引用:

dtb_order.order_idの値が「12」という意味ですね。
でも、今回使用したい注文番号は A+B なので、関係ないですよね?
1からのスタートにしたいのであれば、AUTO_INCREMENTの値を確認してみて下さい。
戻し方は前の方で書いたよぅな…
 ALTER TABLE dtb_order_order_id_seq AUTO_INCREMENT = 1;
 ALTER TABLE dtb_order_detail_order_detail_id_seq AUTO_INCREMENT = 1;


はい、関係ないですね。
以前から、ぽんと数字が飛ぶことはありましたし、そういった書き込みもよく見ますので、まだ改善されていないバグではないでしょうか。
上記のはやってみて、カウントは1に戻ったはずでした。
実際、いくつかかテストしていないのに30番代の注文番号でしたし。

引用:

A+Bにするので
 ご注文番号:<!--{$arrOrder.A}--><!--{$arrOrder.B}-->
になります。

何から何までありがとうございます。
エラー表示がでなくなったらやってみます。

よろしくお願いします。
yukikaze
投稿日時: 2011/11/10 9:24
対応状況: −−−
長老
登録日: 2011/7/26
居住地:
投稿: 196
Re: 注文番号を日付+連番にしたい
勉強不足で申し訳ありません。

853〜854行の間を
 $objQuery->insert("C", array('id' => 0));
 $D = $objQuery->getOne("SELECT LAST_INSERT_ID;");
 $arrValues['A'] = date('YYYYMMDD');
 $arrValues['B'] = $D;
にしても同じくエラーでしょうか?

UpdateとInsertを間違えてました
yukikaze
投稿日時: 2011/11/10 10:55
対応状況: −−−
長老
登録日: 2011/7/26
居住地:
投稿: 196
Re: 注文番号を日付+連番にしたい
追伸

上記でもシステムエラーになる場合は、
 data/cache/mtb_constants.php
「DEBUG_MODE」を『true』にして、そのメッセージを教えて下さい。
IeNeko
投稿日時: 2011/11/10 18:26
対応状況: −−−
常連
登録日: 2011/10/18
居住地:
投稿: 36
Re: 注文番号を日付+連番にしたい
ありがとうございます。
少しいじっているところがあるので、そのせいかもしれないですね。

やはり同じエラーメッセージが出ました。

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

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 LAST_INSERT_ID;

MDB2 Error: no such field

_doquery: [Error message: Could not execute statement]
[Last executed query: PREPARE mdb2_statement_mysql_240b1a8c1aeaba05a823396b84a79779c7794a8e4a FROM 'SELECT LAST_INSERT_ID;']
[Native code: 1054]
[Native message: Unknown column 'LAST_INSERT_ID' in 'field list']


/home/crescend/cre1000.com/public_html/creon/ec/shopping/confirm.php 34:lc_page_shopping_confirm_ex->process
/home/crescend/cre1000.com/public_html/creon/ec/data/class_extends/page_extends/shopping/LC_Page_Shopping_Confirm_Ex.php 56:lc_page_shopping_confirm::process
/home/crescend/cre1000.com/public_html/creon/ec/data/class/pages/shopping/LC_Page_Shopping_Confirm.php 63:lc_page_shopping_c
▲▲▲ エラーメッセージ ▲▲▲

よろしくお願いします。
yukikaze
投稿日時: 2011/11/11 9:17
対応状況: −−−
長老
登録日: 2011/7/26
居住地:
投稿: 196
Re: 注文番号を日付+連番にしたい
いくつか確認します。
Cテーブルのidフィールドは、AUTO_INCREMENTの設定してありますよね?
わたし、書き忘れた?
設定していないよぅでしたら、Cテーブルの再構築をお願いします。
 DROP TABLE `C`;
 CREATE TABLE `C` (`id` INT NOT NULL auto_increment);
 INSERT INTO `C` VALUES (0);

よろしくお願いします。
IeNeko
投稿日時: 2011/11/11 15:18
対応状況: −−−
常連
登録日: 2011/10/18
居住地:
投稿: 36
Re: 注文番号を日付+連番にしたい
引用:

yukikazeさんは書きました:
いくつか確認します。
Cテーブルのidフィールドは、AUTO_INCREMENTの設定してありますよね?
わたし、書き忘れた?
設定していないよぅでしたら、Cテーブルの再構築をお願いします。
 DROP TABLE `C`;
 CREATE TABLE `C` (`id` INT NOT NULL auto_increment);
 INSERT INTO `C` VALUES (0);

よろしくお願いします。

いつもありがとうございます。
それはやってないように思います。

1行目でCテーブルが消えました。
2行目でエラーが出ました。
「#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key 」

SQLというタブの空白の部分に上記を入れ、実行すればよいのですよね?
引き続き、よろしくお願いします。
« 1 2 3 (4) 5 6 »
| 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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
1304
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.