-
ショップアプリケーション
CRUD(クラッド)
- C:Create:登録
- R:Read:一覧
- U:Update:編集
- D:Delete:削除
-
格納場所
-
制作手順→ http://localhost/shop/index.php
-
作業手順
- 1. PHPでデータベースに接続する(mysql_connect)
- 2. PHPでデータベースを選択する(mysql_selecr_db)
- 3. PHPでSQLを実行する(mysql_query)
- 4. PHPで文字コードを設定する(SET NAMES)
- 5. データを連想配列として取得する(mysql_fetch_assoc)
- 6. SQLを安全に保つサニタイズ処理(mysql_real_escape_string)
- 7. 「ページリンク」処理
-
php+MySQL.txtを参照しながら、
SHOP/index.phpを作成
- 11/22に作ったDBが
出来上がっていることが大前提
-
手順
-
shop_001
<div id="connect"></div>要素内に
次の文を入れて変更する
-
mysql_connect()
-
<?php
mysql_connect('localhost','root','root') or die(mysql_error());
echo 'データベースに接続しました';
?>
- こう出ればOK
- mysql_connect() ー MySQLに接続する。mysql_connect('ホスト名','ユーザー名','パスワード')
die() ー メッセージを出力し、現在のスクリプトを終了する。
mysql_error() ー 直近の MySQL 処理からエラーメッセージのエラー番号を返す。
エラーが発生していない 場合は、0 (ゼロ)を返します。
-
index.php」の<div id="content"></div>内に
データベースを選ぶ要素を挿入する
-
「mysql_select_db()」
- 「mysql_connect()」とセットで利用する
-
mysql_select_db('mydb') or die(mysql_error());
echo '<br />データベーススペース「mydb」を選択しました';
- 一行追加して表示されればOK
-
mysql_query('SET NAMES .....')
- 文字コードの設定
-
mysql_queryの実行
-
データを挿入する
- mysql_query('INSERT INTO my_items SET maker_id=1,
item_name="もも",price=210,keyword="缶詰,ピンク,甘い",
sales=0,created="2011-11-20",modified="2011-11-24"')
or die(mysql_error());
echo 'データを挿入しました';
-
データを変更する
- mysql_query('UPDATE my_items SET
item_name="白桃" WHERE id=6')
or die(mysql_error());
echo '変更しました';
-
データを削除する
- mysql_query('DELETE FROM my_items
WHERE id=9') or die(mysql_error());
echo 'データを削除しました';
-
レコードセットから
データを取得する
- $recordSet=mysql_query('SELECT * FROM my_items');
- fetch_assoc(連想配列)を追加
$data=mysql_fetch_assoc($recordSet);
echo $data['item_name'];
- 他のデータも抽出する
$data=mysql_fetch_assoc($recordSet);
echo '<br />' . $data['item_name'];
-
テーブル内のデータ
全件を取り出す
- $recordSet=mysql_query('SELECT * FROM my_items');
while($data=mysql_fetch_assoc($recordSet)){
echo $data['item_name'];
echo '<br />' ;
-
shop_002
-
input_start.php
- ファイル名をinput_test.phpに変えて
1階層上のshop_2フォルダに保存
-
div id="conntent"のタグの中に、以下の文章を挿入する
<p>登録する商品の情報を記入してください。</p>
<form id="frmInput" name="frmInput" method="post" action="input_do.php">
<dl>
<dt>
<label for="maker_id">メーカーID</label>
</dt>
<dd>
<input name="maker_id" type="text" id="maker_id" size="10" maxlength="10" />
</dd>
</dl>
</form>
- input_test.phpを開いて、これが出ればOK
- 出来上がりは、こちら。
-
input_do.php
-
<?php
?>
の間に次の文章を挿入する
- <?php
mysql_connect('localhost','root','root') or die(mysql_error());
mysql_select_db('mydb') or die(mysql_error());
mysql_query('SET NAMES UTF8');
$sql = sprintf('INSERT INTO my_items SET maker_id=%d, item_name="%s", price=%d, keyword="%s"',
mysql_real_escape_string($_POST['maker_id']),
mysql_real_escape_string($_POST['item_name']),
mysql_real_escape_string($_POST['price']),
mysql_real_escape_string($_POST['keyword'])
);
mysql_query($sql) or die(mysql_error());
?>
- サブトピック 1
-
shop_003
-
html部分に
tableの挿入
- htmlspecialcharsの挿入
- div id="content"部分への挿入