重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

すいません。PHPを初めて勉強して実際にプログラムを作ってみたのですが、
その際データベースについて少し疑問があります。(初めてデータベースやPHPに触るので
おかしな質問だったらすみません)

私は自分で撮った写真等を自分のウェブサイトに掲載したいと考えています。

データベースも同時に勉強し、とりあえずウェブサイトの形はできました。またデータベースに
入れるフィールドが8個あります(フィールドというのかカラム名というのかよくわかりませんが・・)
さらに写真が2000枚くらいありますのでかなりの量となります。
(写真は今後もっと増えます)


写真のファイル名、カメラの種類、日付、季節、場所、カメラの設定、コメント、評価



これを季節や日付、場所など絞込、並び替えなどを訪問者が自由に
できるようにしたいと考えています(フォームボタンを設置してラジオボタンなどで
並び替えをするサイトです。並び変えはデータベースで行いループで全てphpで表示します)

ただそれに加え、画像の横に以下のような説明欄を設けデータベースから表示させるつもりです。


日付 2013-1-1
場所 海
カメラの種類 ***
カメラの設定 ***
コメント **********


例えば 日付なら"日付$ggg"みたいな事になります。つまり以下のようにします。これが一番
更新が楽なのでそうしたいです。ただこの場合だと当たり前ですが5つのフィールドから5つの
データを取り出す事になりますし、さらに何千枚もの写真の並び替えも同時に行う事になります。
(並び替えのプログラムなどは省略してあります)
$pdo = new PDO("mysql:dbname=*****", "root");
$pdo->query("set names utf8;"); //
$st = $pdo->query("SELECT * FROM ******************");

while ($row = $st->fetch()) {
$ggg = ($row['日付']);

日付 $ggg
場所 $aaa
カメラの種類 $bbb
カメラの設定 $ccc
コメント $ddd


表示は1ページに200枚ぐらいと考えていますが、このような事はレンタルサーバーで可能なので
しょうか?パソコンの事はあまり詳しくないのですが、普通に考えれば処理できそうにないような
気がしますがどうでしょうか・・。

A 回答 (2件)

 そこそこの普通のシステムなら、普通に出来る規模かと思います。

総枚数2000枚程度であれば、「普通に考えれば処理できる」規模です。
 MySQLは、普通のパソコンクラスでも、数万~数十万レコード程度なら、充分に扱える程度のシステムです。
 フィールド数の方も、心配する領域としては、やっぱり桁が違います。
 画像を扱うための保存領域の容量だって、2000枚程度なら、1枚2Mバイトとしても、4Gバイトほど。今時のハードディスクの保存容量からすればやっぱり桁が違いますね。

 ただし、普通に出来るとは書いたものの、あくまで、私的な領域で使うレベルでの話です。観客数が増えて、1秒あたりのアクセス数が・・・なんてレベルになるなら、やっぱりそれなりの構成と検討が必要です。が、これは、静的な普通のホームページでも同じ事です。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。大丈夫そうですね。

お礼日時:2013/11/27 23:41

極々普通の使い方だと思いますが。


ORDER BY で並び換えても、fetchで出てくる順番が変わるだけです。
内部のデータを実際に並び換えるわけではありません。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。私の写真を何十人が同時に見る事はないと思いますが、
数人がぽちぽちと同時に押すと表示に時間がかかるのではないかと気になりました。

お礼日時:2013/11/27 23:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!