人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

アップロードした画像を、ユーザー側で任意に表示順を指定でき、その表示順のデータをDB(MySQL)に保存させたいのですが、テーブル設計に悩んでいます。

単純に画像毎に表示番号のカラムをつけ、1から番号を割り振るのも、あまりスマートなやり方ではないし、画像の順番が変更になった時にいろいろ面倒だと思うので、もし他によいやり方や、参考になるものがありましたら教えて下さい。

●質問者: xxmasaxx
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● きゃづみぃ
●34ポイント

どっちにしろ表示順の項目を作らないとダメですね。

どの順番で表示させるのか指定する必要がありますから。

どのようにして画像を表示させるのかは わかりませんが それのための情報も

必要な感じがしますね。

◎質問者からの返答

コメントに記載しましたので、よろしければご参考下さい。

よろしくお願いします。


2 ● じゅぴたー
●33ポイント

画像データは、BLOB型を使ってDBに保存するのではなく、ファイルとして保存することを前提に、下記のようなレコード構造にするといいでしょう。

画像ID画像種別(拡張子)並び順画像名

画像IDはアップロード時に決定するユニークな記号番号で、一度登録したら変更できないようにします。画像ファイル名(拡張子を除く)としても使います。DBキーにすることもできます。

「ユーザーID+年月日時分秒」や「画像ファイル名のハッシュ値(MD5関数など)」を用いるといいでしょう。


画像種別は、画像ファイルの拡張子(JPG, PNG等々)です。これも一度登録したら変更できないようにします。


並び順は、ユーザーが指定した画像の並び順を記録するもので、1から順番に数値を与えるようにしておけばいいでしょう。ユーザーによる変更が可能なカラムです。ただし数値が重複しないようにコントロールしてやる必要があります。


画像名は、ユーザーが画像の並び替えをする時に参照する名前で、ユーザーが自由に付けたり変更したりできるものとします。画像IDだけではユーザーには分かりにくいと思うので、あくまで補助的に使う名前なので、重複可とします。


必要なら、これ以外にタイムスタンプ、画像サイズなどのカラムも追加しておくといいでしょう。

◎質問者からの返答

回答ありがとうございます。

参考にさせていただきます。


3 ● okamotoy
●33ポイント

「任意に」の内容が決まっていないのなら,

でいかがでしょう.(RDB要らずです.)

ファイルBを参照して使いたいプログラムを選択すれば並べ替えが実行され,出力したファイルを参照して表示するようにすれば良いのです.

「任意に」の内容が決まった段階で「並べ替えプログラム」を書き,ファイルBに追加していきます.

「各『並べ替えプログラム』が出力するファイル」は「表示したい順にファイルパスを並べる」だけに統一します.

そうすることにより,表示プログラムも統一できます.

◎質問者からの返答

残念ながら今回はDBが必須なのでそのままではできませんが、

参考にさせていただきます。回答ありがとうございます。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ