質問 > フロント機能 > 注文番号を日付+連番にしたい |
フロント機能
| 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
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」になっていました。 注文番号は前からおかしかったので問題ないかと思っています。 引用:
聞きたかったことはこれです。ありがとうございます。 それと、返信メールなどに記載される注文番号 ご注文番号:<!--{$arrOrder.order_id}--> 等は変更しなくてもよいのでしょうか? 質問いっぱいで申し訳ないのですが、よろしくお願いします。 |
yukikaze |
投稿日時: 2011/11/9 9:17
対応状況: −−−
|
長老 登録日: 2011/7/26 居住地: 投稿: 196 |
Re: 注文番号を日付+連番にしたい 引用:
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; 引用:
A+Bにするので ご注文番号:<!--{$arrOrder.A}--><!--{$arrOrder.B}--> になります。 |
IeNeko |
投稿日時: 2011/11/9 22:49
対応状況: −−−
|
常連 登録日: 2011/10/18 居住地: 投稿: 36 |
Re: 注文番号を日付+連番にしたい いつもありがとうございます。
引用:
注文完了のボタンをクリックすると、以前と同じ「システムエラーが発生しました。大変お手数ですが、サイト管理者までご連絡ください。」と表示されます。 今日もまたやってみたのですが、同じ表示がでました。 もしかしたら、以前作ったテーブルに何か問題があるのでしょうか? 引用:
はい、関係ないですね。 以前から、ぽんと数字が飛ぶことはありましたし、そういった書き込みもよく見ますので、まだ改善されていないバグではないでしょうか。 上記のはやってみて、カウントは1に戻ったはずでした。 実際、いくつかかテストしていないのに30番代の注文番号でしたし。 引用:
何から何までありがとうございます。 エラー表示がでなくなったらやってみます。 よろしくお願いします。 |
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: 注文番号を日付+連番にしたい 引用:
いつもありがとうございます。 それはやってないように思います。 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 » |
| 新しいものから | 前のトピック | 次のトピック | トップ |