質問 > フロント機能 > 商品管理/商品マスター/編集にて、商品名が更新されている場合のみ時刻を記録する記述にすることは可能でしょうか。 |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
zenta |
投稿日時: 2018/1/4 15:07
対応状況: 解決済
|
常連 登録日: 2016/10/18 居住地: 投稿: 59 |
商品管理/商品マスター/編集にて、商品名が更新されている場合のみ時刻を記録する記述にすることは可能でしょうか。 いつも大変お世話になっております。どうかよろしくお願いいたします。
管理者画面の商品管理/商品マスター/編集で、商品名が新たに更新されるなら(登録しようとしている商品名が既にデータベースの商品名のカラムにある内容と異なるなら)以下の様な、CURRENT_TIMESTAMPの情報を以下の様に新たに作成したカラムに保存し、サイトの所定のセクションに表記するという記述を施したいのですが、下記の記述では機能致しません。 具体的にどのような記述にすればよろしいかアイデア等ご指南頂けませんでしょうか。 LC_Page_Admin_Products_Product.php function lfRegistProduct() { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if ($sqlval['name'] != $arrList['name']) { $sqlval['update_date_name'] = 'CURRENT_TIMESTAMP'; } else { } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ } EC-CUBE 2.X系 (データベース) MySQL5.0.77 (WEBサーバ) apache2 (OS) Windows XP (PHP) 5.0.22 |
yuh |
投稿日時: 2018/1/4 17:03
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: 商品管理/商品マスター/編集にて、商品名が更新されている場合のみ時刻を記録する記述にすることは可能でしょうか。 MYSQLであればトリガー貼っとけばいいんじゃないでしょうか?
こんな感じで。
|
zenta |
投稿日時: 2018/1/5 12:22
対応状況: −−−
|
常連 登録日: 2016/10/18 居住地: 投稿: 59 |
Re: 商品管理/商品マスター/編集にて、商品名が更新されている場合のみ時刻を記録する記述にすることは可能でしょうか。 yuh様、
ご多忙の中、ご指導いただきまして大変感謝いたします。 頂いた記述にて即機能しております。 私は当初から以下の様にもう一行追加する予定でおり、 if ($sqlval['name'] != $arrList['name']) { $sqlval['editor_name'] = $_SESSION['login_name']; $sqlval['update_date_name'] = 'CURRENT_TIMESTAMP'; } else { } 以下の様にと、いろいろと試しておりますが、なかなか旨く機能致しません。 恐縮でございますが、下記のXXXXXXXX、$_SESSION['login_name']に該当する記述に関しましてアドバイス等頂けませんでしょうか。 IF NEW.name <> OLD.name THEN SET NEW.editor_name = XXXXXXXX; SET NEW.update_date_name = NOW(); END IF; |
yuh |
投稿日時: 2018/1/5 14:03
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: 商品管理/商品マスター/編集にて、商品名が更新されている場合のみ時刻を記録する記述にすることは可能でしょうか。 ためしてないですが、こんな感じですかね?
|
zenta |
投稿日時: 2018/1/6 1:34
対応状況: 解決済
|
常連 登録日: 2016/10/18 居住地: 投稿: 59 |
Re: 商品管理/商品マスター/編集にて、商品名が更新されている場合のみ時刻を記録する記述にすることは可能でしょうか。 yuh様、
ご教授頂きまして感謝致します。そしてご多忙の中恐縮でございます。 何故かわかりませんが、WHERE member_id = NEW.creator_id であれば、商品登録者の名前が抽出、挿入、表示される様です。 (当サイトはポータルサイト、登録者の商品(コンテンツ)に対して複数のユーザーが同時にネット上でログインし編集などができる設定になっております。) 商品登録画面上部に表示されているものと同じ、現在ログイン中のユーザーを抽出し、挿入、表示させたいので、 WHERE login_date = CURRENT などと試していますが、何も抽出しない様でございます。 <!--{$smarty.session.login_name|h}-->、あるいは$_SESSION['login_name']はどうゆう記述で抽出されているのでしょうか。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ その後、様々な情報等から、dtb_productsに新たなカラムlogin_nameを作成し、更新する際にphp側でこの$_SESSIONの情報をそのカラムに挿入し、そしてMysql側のトリガーの判別によって、最終的なカラムにlogin_nameを挿入するという形式に、より効率的な方法はもちろんありますが、致しました。 ご多忙の中ご指導いただきまして大変感謝致します。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |