バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > その他 > お客様情報入力項目にチェックボックスを追加する場合

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
marushige
投稿日時: 2012/3/2 20:25
対応状況: −−−
一人前
登録日: 2011/2/14
居住地:
投稿: 93
お客様情報入力項目にチェックボックスを追加する場合
EC-CUBEバージョン 2.4.4
PHPバージョン PHP 5.2.8
DBバージョン MySQL 5.0.45

お客様情報入力項目にチェックボックスを追加する場合、DBの[dtb_order][dtb_order_temp]にカラムを追加するかと思いますが、チェックボックスの場合、

種別はどのような設定にするのがよいのでしょうか。

テキストは「TEXT」 ラジオボタンは「SMALLINT」となっております
pingpong
投稿日時: 2012/3/3 14:31
対応状況: −−−
長老
登録日: 2011/12/15
居住地:
投稿: 156
Re: お客様情報入力項目にチェックボックスを追加する場合
smallintでよいかと思います。
数字での管理になるかと思いますので。

※管理画面で使われる、チェックボックスなどはmtb_から始まるテーブルで管理されることが多いですが、そのような使用の仕方は考えられていますか?
PWS
投稿日時: 2012/3/5 8:56
対応状況: −−−
一人前
登録日: 2012/1/23
居住地: Itami Hyogo
投稿: 141
Re: お客様情報入力項目にチェックボックスを追加する場合
おはようございます。
複数の値を保持する可能性のあるチェックボックスはテキストにしておいて、チェックボックスの値はプログラム内で分割して配列にできる形で格納したほうがよいのではないかと思います。
homan
投稿日時: 2012/3/5 14:41
対応状況: −−−
仙人
登録日: 2007/7/2
居住地: 宮崎県宮崎市
投稿: 633
Re: お客様情報入力項目にチェックボックスを追加する場合
僕が良く使う方法はPWSさんご考案の方法で、
例えばパイプ繋ぎ(a|b|c|dなど)でチェックした情報をDBに登録し(implode関数を使うと楽かも)、
表示するときにはexplode関数で分割した配列に入れる方法です。

http://php.net/manual/ja/function.explode.php

もしくはserialize関数でシリアライズした配列情報をDBに保持し、
unserialize関数で配列に戻す方法もあろうかと思います。

どっちも最終的には配列に戻して、処理しやすくするのですが、
よほど複雑な多次元配列じゃない限りは前者のinplodeとexplodeを使っての扱いのほうが、人間からぱっと見ても分かりやすいですし
オススメかもしれません。ご参考までに。
(※その場合、カラムは当然textとなります)


----------------
このコミュニティでの投稿はボランティアの範囲に留めさせていただいています。個別の相談やカスタマイズは有償にて承っておりますのでご相談下さい。

[url=http://www.eccube-school.jp/]EC-CUBE

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は89,423名です
総投稿数は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.