こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

複数データのUPDATEに関して

お世話になっております。

MySQLに保存している顧客データの処理について質問させてください。(MySQLとPHPでブラウザ経由でデータ管理をしています)

以下のようなテーブルがあり、顧客に対して配送するダイレクトメールの印刷をする流れのことです。

no  name  dm
1  佐藤  no
2  吉田
3  谷口
4  伊藤

まず最初にこのテーブルにある顧客を一覧で表示させますが、名前と共にチェックボックスを設け、
noという値が入っているレコードはチェックを入れて一覧表示します。

一覧表示の後、印刷表示というボタンを押すと、印刷用レイアウトの画面に移動し、印刷を実行という流れです。

dmというカラムは印刷をするか否かのフラグであり、noと代入されているか顧客は印刷しないことを意味しますが、
印刷前の確認が出来るようにするためであり、また印刷対象の変更を同時に行えるようにしたいと、このような流れになってます。

そこで質問なのですが、単純に一覧から印刷用ページに移動させるだけなら問題はないのですが、このチェックボックスのチェック、チェックを外したり、チェックを入れたりと、服すのチェックを一度に行い、印刷用ページに移動(ポスト)したとき、チェックの入ったデータだけ印刷一覧に表示したいと考えてます。

このとき、変更があった顧客のdmカラムをアップデートしたいのですが、どのような仕組みが一番負荷が少なくて住むのでしょうか?

現在の顧客数は1万5千件程度ですが、印刷用ページに移動した際、1つずつチェックをするのは非常に非効率ですし、かといって、元々チェックの入っていたデータと、印刷ページにポストしたとときのデータを共に違う配列に代入して・・・とも考えているのですが、効率のよい流れというものがなかなかイメージすることが出来ません。

お忙しいとは思いますが、お知恵を頂戴できれば幸いです。
宜しくお願いいたします。

投稿日時 - 2014-10-14 01:05:03

QNo.8789859

すぐに回答ほしいです

質問者が選んだベストアンサー

>1つずつチェックをするのは非常に非効率

(1)ページングする
つまり1ページに表示するデータ数を制限する
また1ページ当たりの表示数ルはユーザーが任意に選べるようにする
(10、50、100くらいの大雑把に)

(2)ページごとにすべてチェックする・すべてチェックを外す
を選べるようにする

(3)データの引き継ぎにはセッションをつかう

とすればある程度まとまった単位で処理できるとおもいます

ただし、1万件のデータを選んだあと印刷実行というのはミスが頻発しそうです。
選ぶ画面はあくまで選ぶ画面として確定までしてしまい
印刷は確定データをつかって選択画面なしに印刷した方がよいのでは?

投稿日時 - 2014-10-14 09:31:17

お礼

yambejpさん、前回に引き続きありがとうございます。

私の説明不足なとところがありましたが、お答え頂き有難うございます。

何とかイメージが固まりました。

有難うございました。

投稿日時 - 2014-10-14 10:45:28

ANo.1

このQ&Aは役に立ちましたか?

8人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問