• 締切済み

保存データの圧縮方法

テーブルでデータ行を大量に表示してます。 この行は表示しない、というのをユーザにチェックボックス設定などで設定させ、それを保存しておこうと思っています cookieで保存すればいいと思うのですが、以前cookieの保存限界容量が4KB?か2KB?であるようなことを目にしたので、 他のデータも保存している関係上、ちょっとそのまま記録することが難しそうで、圧縮して保存しないといけなそうです 行には全てIDが振ってあるのですが、1から順に振られているわけではなく かなり飛び飛びになって2000行位まで振られてます。 そしてたまにアップデートによってその穴のところに新たなデータが入ることがあります 何かいい圧縮方法はないでしょうか

みんなの回答

回答No.4

ほぞんするじょうほうりょうは、ひょうじするか、しないかの1びっとなので、 てーぶるのぎょうを、うえから びっとえんざん していって、6びっとぶんになったら、そのすうちを '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz#$'のもじをりようして 64しんすうにでもおきかえて、くっきぃ~にする。 すると2000ぎょうでも、334もじでたりる。というのは?

回答No.3

DOM Strageをぐぐれ。

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.2

javascriptで出来るのは、ユーザー名(別にユーザー名じゃなくてもいいけど) 入力欄と、名各行にチェックボックスを配置し、チェックが付いたIDを配列にして、 ユーザー名と共にサーバー側POSTするぐらいです。 サーバー側は、POSTされたデータで、ユーザー名をキーにして、 テキスト(CSV)なりDBに保存するとか、 逆にページ要求があった時、サーバー側はそのユーザー名から チェックされているIDを検索して、チェックされていたらそのIDの行を非表示にして 出力するのが、無難ではないかと... 後半部分はjavascript + AJAX でも出来そうですが、わざわざ AJAXにしなくてもよいような。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

何千行ものフラグ管理をクライアント側にやらせるのは酷では? サーバー側にもたせるという選択肢はないのでしょうか?

futaba7777
質問者

補足

そうですね 出来ればローカルで実行させたいところです trueを1 falseを0にして全てを一行に表示 そしてそれを16進数にして見たのですが、それでも半分程度までしか減りませんでした

関連するQ&A

  • データ容量が圧縮されない<DS-60000>

    特定のPC端末に保存されたスキャンデータが圧縮されません。なお、他のPC端末に保存されたスキャンデータは圧縮されています。 ・型番:DS-60000 ・拡張子はJPEG ・高圧縮15に設定している ・通常は500~900KB ・特定のPC端末のみ2MB以上 お分かりになりますでしょうか? ※OKWAVEより補足:「EPSON社製品」についての質問です。

  • 圧縮について

    4年前からWindows XPを使用しています。ファイルの圧縮をしました。「圧縮したファイルにカーソルをあわせ ⇒ 右クリック ⇒ 送る ⇒ zip」という手順で圧縮しましたが、下記のような問題点があります。 1.通常ですと当該フォルダ内のファイル一覧の最後尾に圧縮したファイルが表示されるようですが、表示されません。どこにあるのか探したところあるフォルダの中にありました。いくつか別のファイルを圧縮しましたが、全部このフォルダに保存されてしまいます。2回ほど保存先を聞いてくることがありました。いちいち保存先を指定したところ希望の保存先に保存されましたが、同時にさきほどのあるフォルダにも保存されています。これは異常だと思いますが、正常に戻すにはどうしたらよろしいでしょうか。 2.圧縮率について (1)ワード7頁(A4)に写真24枚が入ったファイルを圧縮したところ元々のサイズ34,299KBが33,821KBになっただけでした。全く圧縮されてませんがどこかおかしいのか、これが正常なのでしょうか。手順は上述の通りにしました。 (2)JPEG imageの写真1枚を圧縮したところ1444KBが1442KBにしかなりませんでした。これは圧縮されたのか、されてないのかどちらでしょうか。 (3)エクセルのファイルは5.8MBが684KBになりましたので、いかにも圧縮された満足感があります。 圧縮というと大幅に容量が減るものとばかり思ってましたが大した減量にならない場合もあるのでしょうか。超初心者です。圧縮について3日前からはじめてする羽目になり、困ってます。どなたかお助け下さい。

  • フォームからテーブルへの保存

    Access2000を使っていますが、初心者です。 まず、フォームを作成し、コンボボックスでテーブル1からデータを取ってきて表示させています。そのコンボボックスに表示させているデータをテーブル2に保存したいのです。 コントロールソースで指定するとコンボボックスからテーブル1のデータを選択できません。これは何がおかしいのでしょうか。そもそもテーブル1のデータをフォームからテーブル2に保存するということはできないのでしょうか。保存させる方法がありましたら教えて頂けませんでしょうか。 困っております。できれば分かり易く教えて頂けないでしょうか。

  • PDFの圧縮方法

    PDFファイルというのは、 文章について テキストファイル的=文字データとして保存しているのか、それとも画像データとして保存しているのか どちらですか。 なぜ多様なフォントがあったり、 複雑なグラフがはいっている文章を 圧縮して表示させたりすることができるのですか。

  • Outookメールデータの圧縮

    WinXPパソコンからパソコン更新するために、MSOutlook2007のメールデータを移行中です。メールデータが合計で17GBと大きいため、以前から破損が度々で、この際に古いメールを圧縮しようとしています。 古いデータを整理して、保存フォルダーに移したのですが、メールデータ(Outlook.pst)が小さくなりません。保存フォルダーに移したデータ(arckive.pst)は9GB程度になりました。 調べた結果、Outlookの個人用フォルダのプロパティから”今すぐ圧縮”をしようとしたのですが、表示が消えた後に”OK”を押すと”1つまたは複数の変更を保存できません。操作を完了できません。”と表示されます。 この後、どのように対処してよいのかわかりません。ご教示お願いいたします。

  • Divx の圧縮率

    Divx で avi データを圧縮作成しています。今まで(おそらく)デフォルトで90分のムービーが約500 KB で作成できたのですが,Divx コーデックスをアップデートしたせいか,90分のムービーが約1,500 KB の大きさになってしまいます。コーデックスモードを「最速」などにしても結果に変わりはないように思われます。できれば以前のように90分のムービーを約500 KBくらいで作りたいのですが,設定変更などで,よい方法がありますでしょうか?何か情報をご存じの方がおられましたら,教えていただければ幸いです。ちなみにソフトは Mpg2jpg を使用し,OS は Win XP です。

  • EXCELでテーブルのデータを自動的に参照する方法

    下記のようなAB2つのテーブルがあります。  <Aテーブル>   (1)1行目は数字の連番です。   (2)2行目は1行目の数字の頻出数です。  <Bテーブル>   (1)1行目は数字の連番です。   (2)2行目はLARGE関数でAテーブル(2)の頻出数を大きい順に並べた数値です。   (3)3行目に(2)の頻出数に該当するAテーブル(1)の数字を参照して、自動的に設定したいのですが、その方法が分かりません。(頻出数が同じ場合は若い数字順に参照します) 具体的には以下 Aテーブル  01 02 03 04 05 06 07 08 09 10   2 4 1 0 3 4 2 1 2 3 Bテーブル  01 02 03 04 05 06 07 08 09 10   4 4 3 3 2 2 2 1 1 0 02 06 05 10 01 07 09 03 08 04 以上、Bテーブルの3行目の設定は人手による操作を無くしたいのですが、H(V)LOOKUP関数やIF文ではうまく処理できませんでした。 何方かお知恵を貸して頂けませんか? よろしくお願いいたします。

  • データの保存と印刷

    こんぱんは。VB初心者です。早速ですが質問があります。良きアドバスを頂けたら幸いです。 データの保存と印刷についての質問です。 テキストボックスに配列で各データ(50個ぐらい)を表示することまでは出来たのですが、いざそのデータの保存と印刷で困っております。 以下のようなイメージで印刷できたらいいのですが。 No. データ名 データ  1 ○○○○ ×××(←textboxに表示したデータ) 2 ○○○○ ××× : : : 50 ○○○○ ××× No.とデータ名はラベルで表示しています。 分かりにくいとは思いますが、どうぞよろしくお願いします。

  • チェックボックスのデータをdatファイルに保存する方法

    更新記録CGI(perl)を改造中です。 修正画面でチェックボックスにチェックを入れておくと確認画面である文字列を表示させるというのを実現させたいです。 表示させる方はIF文で、 if ($check ==1){普通に表示}else {別の文字列を表示} とすることで何とかなると思うのですが、このチェックボックスの情報の保存方法がよくわかりません。 記事登録処理の部分、 foreach (@data) { ($contents,$date,$year,$month,$day,$comment,$check) = split(/<>/); if ($in{'contents'} eq $contents && $in{'year'} eq $year && $in{'mon'} eq $month && $in{'day'} eq $day && $in{'comment'} eq $comment $in{'check'} eq $check ) { &error("記録済みです"); } } このあたりが、データの保存を指示している場所だと思うのですが、このままだと、datファイルには「in{'check'}」と保存されてしまいます。 これをどうやったらチェックボックスにチェックが入っているという風に保存できるのでしょうか? また、修正画面でチェックボックスにチェックが入っている場合はチェックが入った状態で表示する(その情報表示する)という風にしたいのですが、これまたうまくできません。 多分、 if ($no eq $in{'edit_no'}){~~$e_check = $check;~~} <input type=\"checkbox\" name=\"e_check\" size=5 value=\"$e_check \">\n"; この二つが関係していると思うのですが… 単純に、チェックボックスにチェックを入れて保存したら、datファイルにそのデータが保存され、チェックが入っていれば、修正画面・表示画面にてそれぞれのアクションを起こしてほしいというものです。 抜けてる情報などありましたら指摘してください。すぐに書き込みします。 よろしくお願いします。

    • 締切済み
    • CGI
  • 2つのデータベースのデータを1つに合わせてのソート方法

    よろしくお願いします。 Accessで作成されたデータベースが2つあり、それぞれ同じ項目名で構成されているテーブルが1つずつあります。(データの変更前と変更後というように2つのデータベースに分けています。全体で約50万件です。) 検索用のフォームを作成し、条件に合致するデータを両方のデータベースから検索してフォーム上のリストボックスに表示していきたいのですが、その表示順番を2つのデータを合わせて日付順に並び変えたいのです。このような処理が可能なのかどうかも不明なのですが、可能であればその方法を教えていただけないでしょうか。

専門家に質問してみよう