PHP からデータベース(MySQL)を扱う
ren10.php
x<?php
// このプログラムはPHPからMySQLの データべースを新規に生成する。
echo "データベース生成<BR>";
$db = new PDO('mysql:host=localhost', 'root', 'root');
// この場合 データベース名 syouhin を生成
$db->exec('CREATE DATABASE syouhin');
echo "終了<BR>";
?>
ren11.php このプログラムはPHPからMySQLのテーブルを新規に生成する。
xxxxxxxxxx
// このプログラムはPHPからMySQLの テーブルを新規に生成する。
<?php
// このプログラムはPHPからMySQLの テーブルを新規に生成する。
$pdo = new PDO("mysql:host=localhost;dbname=syouhin", "root" ,"root"); // MySQLに接続
$sql = "CREATE TABLE IF NOT EXISTS `table1`"
."("
. "`cd` int(6) primary key,"
. "`hinmei` varchar(50),"
. "`kakaku` int(6),"
. "`siirene` int(6)"
.");";
$stmt = $pdo -> prepare($sql);
$stmt -> execute();
?>
ren12.php table1 に insert命令でデータを追加する。
xxxxxxxxxx
<?php
echo "table1 に insert命令でデータを追加";
$pdo = new PDO("mysql:host=localhost;dbname=syouhin", "root" ,"root"); // MySQLに接続
$st = $pdo->prepare("INSERT INTO table1 VALUES(?,?,?,?)");
$st->execute(array(1,'うどん', 500,100));
$st->execute(array(2,'ラーメン', 500,150));
$st->execute(array(3,'ぎょうざ', 250,50));
$st->execute(array(4,'焼き飯', 500,150));
$pdo=null; // MySQLから切断
?>
</table>
ren13.php --> ren13a.php フォームからテーブルにデータを追加する。
ren13.php
xxxxxxxxxx
<html>
<head>
<title>フォームからテーブルにデータ追加</title>
</head>
<body>
<form method="post" action="rei13a.php">
コード<input type="text" name="cd"><br>
品名 <input type="text" name="hinmei"><br>
価格 <input type="text" name="kakaku"><br>
仕入値<input type="text" name="siirene"><br>
<input type="submit">
</form>
</body>
</html>
ren13a.php
xxxxxxxxxx
<?php
// フォームからテーブルにデータを追加する。
$cd = @$_POST['cd'];
$hinmei = @$_POST['hinmei'];
$kakaku = @$_POST['kakaku'];
$siirene = @$_POST['siirene'];
echo "table1 に insert命令でデータを追加";
$pdo = new PDO("mysql:host=localhost;dbname=syouhin", "root" ,"root"); // MySQLに接続
$st = $pdo->prepare("INSERT INTO table1 VALUES(?,?,?,?)");
$st->execute(array($cd,$hinmei, $kakaku,$siirene));
$pdo=null; // MySQLから切断
?>
ren14.php テーブル一覧を表示して 修正---> update.php --> update2.php 削除 --->delete.php ができる。
xxxxxxxxxx
<html>
<head>
<title>
テーブルのUPDATE、DELETE
</title>
<body>
<table border="1">
<tr><td>cd</td><td>品名</td><td>価格</td><td>仕入値</td></tr>
<?php
$pdo = new PDO("mysql:host=localhost;dbname=syouhin", "root" ,"root"); // MySQLに接続
$st = $pdo->query("SELECT * FROM table1");
while ($row = $st->fetch()) {
$cd = htmlspecialchars($row['cd']);
$hinmei = htmlspecialchars($row['hinmei']);
$kakaku = htmlspecialchars($row['kakaku']);
$siirene = htmlspecialchars($row['siirene']);
echo "<tr><td>$cd</td><td>$hinmei</td><td>$kakaku</td><td>$siirene</td>
<td><a href='update.php?cd=$cd'>修正</a>
<a href='delete.php?cd=$cd' onclick=\"return confirm('削除していいですか?')\">削除</a></td></tr>";
}
$pdo=null; // MySQLから切断
?>
</table>
</body>
</html>
修正---> update.php --> update2.php
update.php
xxxxxxxxxx
<?php
$cd = htmlspecialchars($_GET['cd']);
$pdo = new PDO("mysql:dbname=syouhin", "root", "root" );
$st = $pdo->prepare("SELECT * FROM table1 WHERE cd=?");
$st->execute(array($cd));
$row = $st->fetch();
$cd = htmlspecialchars($row['cd']);
$hinmei = htmlspecialchars($row['hinmei']);
$kakaku = htmlspecialchars($row['kakaku']);
$siirene = htmlspecialchars($row['siirene']);
?>
<form method="post" action="update2.php" method="post">
コード <input type="text" name="cd" value="<?php echo $cd ?>"><br>
品名 <input type="text" name="hinmei" value="<?php echo $hinmei ?>"><br>
価格 <input type="text" name="kakaku" value="<?php echo $kakaku ?>"><br>
仕入値 <input type="text" name="siirene" value="<?php echo $siirene ?>"><br>
<input type="hidden" name="old_cd" value="<?php echo $cd ?>"><br>
<input type="submit">
</form>
</form>
update2.php
xxxxxxxxxx
<?php
$pdo = new PDO("mysql:dbname=syouhin", "root", "root");
$st = $pdo->prepare("UPDATE table1 SET cd=?,hinmei=?,kakaku=?,siirene=? WHERE cd=?");
$st->execute(array($_POST['cd'],$_POST['hinmei'],$_POST['kakaku'],$_POST['siirene'],$_POST['old_cd']));
?>
レコードを修正しました。
削除 --->delete.php
xxxxxxxxxx
<?php
//実際にレコードを削除する
$pdo = new PDO("mysql:host=localhost;dbname=syouhin", "root" ,"root"); // MySQLに接続
$st = $pdo->prepare("DELETE FROM table1 WHERE cd=?");
$st->execute(array($_GET['cd']));
?>
レコードを削除しました。
ren16.php table1 のテーブル内容一覧を表示する。
xxxxxxxxxx
<html>
<head>
<title>
商品テーブル内容表示
</title>
<body>
<table border="1">
<tr><td>cd</td><td>品名</td><td>価格</td><td>仕入値</td></tr>
<?php
$pdo = new PDO("mysql:host=localhost;dbname=syouhin", "root" ,"root"); // MySQLに接続
$st = $pdo->query("SELECT * FROM table1");
while ($row = $st->fetch()) {
$cd = htmlspecialchars($row['cd']);
$hinmei = htmlspecialchars($row['hinmei']);
$kakaku = htmlspecialchars($row['kakaku']);
$siirene = htmlspecialchars($row['siirene']);
echo "<tr><td>$cd</td><td>$hinmei</td><td>$kakaku</td><td>$siirene</td></tr>";
}
$pdo=null; // MySQLから切断
?>
</table>
</body>
</html>