[PHP+SQL]ファイルも上げられるデータベースを作る

Reading Time: < 1 minute

顧客とか商品管理したいからなんかそういうの作ってくれって言われて、
phpのすっごい浅い所しかかじってないのに受けたバカによる備忘録。
ほぼ参考元リンク集。

作るにあたっての欲しい機能

ユーザー登録・ログイン

STEP2-2.ログイン機能を作ってみる / チームラボ オンラインスキルアップ課題
STEP2-3.入力チェックを作ってみる / チームラボ オンラインスキルアップ課題
↑に倣えば作れた。
クラス化真似るとログイン・ログアウトはできるけど登録がうまくいかない。
原因探ってないからわかんない。

データベース登録機能

PHPでデータベースへ入力内容を登録 | PHP Labo
これと
PHPでMySQLのレコードに画像情報を保存するやり方 | アイ・エス・シー実験室
これを混ぜた。
ファイル(画像)はバイナリデータとしてデータベースに保存されることになる。
データベースのテーブルには画像の拡張子(mime)も保存しておくといいかも。

データベース編集機能

まだ

データベース削除機能

まだ

データベース一覧表示

PHPでデータベースの内容を表示 | PHP Labo
whileでぐるぐるさせることでありったけを表示。
一定量でページ分けしたい。

MySQLにバイナリで格納されたデータを画像(ID名.jpeg)で表示させる « WeBridge
画像表示はこれに倣う。
データベースにユニークIDを設置すること前提。
該当するIDと一緒に保存されてるバイナリデータを表示させる。
画像はバイナリデータになってんだから、ある意味エンコードする、代替用phpが必要なんだと学ぶ。

データベース個別表示

まだ。
上の画像表示みたくid指定してしまえばいいんじゃないかと思ってる。
表示ができたら利便性を考えて、個別urlを付与させたい。

小ネタ的なもの

乱数生成

[php]
$random = range(0, 10); // 0?10までの範囲の整数値を配列に入れる
shuffle($random); // 配列をランダムに並び替える
foreach($random as $rand){
$id .= $rand; //「.」を付けることですべてのループの連結データになる
}
[/php]
すっごく雑で乱暴なアレだけど、これでも乱数が作れる。

checkboxを取得するためのやつ

[php]
$checkbox = implode(“,”, $_POST[“checkbox”]);
[/php]
postを普通に変数化するとチェックしたうちの一個しか読み込まれない。
こうすると例えば「うんこ,ちんこ,まんこ」みたいに、
「,」で区切ってチェックしたやつを全部文字データに起こせる。

対ロリポップ文字化け対策

[php]
//データベースに接続
if (!$con = mysql_connect(‘[サーバー名]’, ‘[ユーザー名]’, ‘[パスワード]’)) {
echo “接続エラー” ;
exit ;
}
//文字化回避
mysql_query(“SET NAMES utf8”,$con);
//データベースを選択
if (!mysql_select_db(‘[データベース名]’, $con)) {
echo “データベース選択エラー” ;
exit ;
}
[/php]
ロリポップのデータベースに登録した情報を表示するときに「????」みたいな感じで全角文字が化けちゃうとき用。
データベース接続とデータベース選択の間に文字コードのをぶっこむと回避できた。
色々調べすぎて情報元サイトわかんなくなっちゃった。

作ってて思った

本とか読まんでも人に聞かんでも、
web上で調べるだけでもなんとかなるね。
すごいね。
あと、htmlで予めにデザイン作った上で組み込みをしないと、
こんがらがった時に超危険。

シェアする

  • このエントリーをはてなブックマークに追加