##参考
・https://qiita.com/ho-gaku/items/914e80a955b510538377
・https://qiita.com/harufuji/items/d033d3480a0c791973ae
##手順
前回同様に、
1.データベースに接続
2.接続エラー処理
3.テーブルデータ取得
4.表示処理
5.データベース接続終了
新たに、
1.フォーム作成
2.フォームに入力されたデータを受け取ってDBに接続し書き込む。
##前回のコードサンプル
<?php
$link = mysqli_connect('localhost', 'root', '' ,'eccube001');
// ↑host ↑USER ↑PW(空白) ↑DB名前
// 接続状況をチェックします
if (mysqli_connect_errno()) {
die("データベースに接続できません:" . mysqli_connect_error() . "\n");
}else {
echo "データベースの接続に成功しました。\n";
}
print "<br>";
// ステータスの一覧を表示する
$query = "SELECT * FROM mtb_order_status;";
// ↑まずはサンプルで固定のSQLを入れる(サンプル・動作確認としてこのまま)
// クエリを実行します。
if ($result = mysqli_query($link, $query)) {
echo "SELECT に成功しました。\n";
print "<br>";
foreach ($result as $row) {
var_dump($row);
}
}else{
echo "SQL実行に失敗しました。\n";
}
// 接続を閉じます
mysqli_close($link);
?>
##今回
銀行口座の入出金の機能を最終的に作成するために、今回は銀行口座開設フォームを作成する。
##銀行口座に必要な機能
・口座開設フォーム
・入出金を記録、確認できる
##DBに書き込む
前回と同様に、DBに接続します。そして、フォームに入力されたデータをPOSTで受け取ってDBに接続しinsertで書き込む。
$link = mysqli_connect('localhost', 'root', '' ,'AIBANK');
if (isset($_POST['send']) === true) {
$number= htmlspecialchars(trim($_POST["number"]));
$type = htmlspecialchars(trim($_POST["type"]));
$name_full= htmlspecialchars(trim($_POST["name_full"]));
$name_kana = htmlspecialchars(trim($_POST["name_kana"]));
print($name_full);
$query = "INSERT INTO account_170(number, type, name_full, name_kana, create_date,flg_active) VALUES ('$number','1','$name_full', '$name_kana',CURRENT_TIMESTAMP,'1');";
}
##ステータスを表示する
テーブルデータを取得、表示しinsertされたデータをここに表示する。
$query = "SELECT * FROM account_170;";
if ($result = mysqli_query($link, $query))
print "<table border=''>";
foreach ($result as $row) {
print "<tr>";
print "<td>" . $row["number"] . "</td>";
print "<td>" . $row["type"] . "</td>";
print "<td>" . $row["name_full"] . "</td>";
print "<td>" . $row["name_kana"] . "</td>";
print "<td>" . $row["create_date"] . "</td>";
print "<td>" . $row["flg_active"] . "</td>";
print "</tr>\n";
}
print "</table>";
mysqli_close($link);
print "<hr>";
?>
##入力フォームを作成する
htmlでフォームを作成する
<body>
<form action="" method="post">
<h2>口座番号登録フォーム</h2>
<p>口座番号 :
<input type="text" id="number" name="number" size="60" placeholder="2020112">
</p>
<p>
預金種別 :
<input type="radio" id="type" name="type" value="1">普通預金
<input type="radio" id="type" name="type" value="2">当座預金
</p>
<p>
<label>預金者名 : </label>
<input type="text" id="name1" name="name1" size="60" placeholder="山田太郎">
</p>
<p>
預金者名(かな) :
<input type="text" id="name2" name="name2" size="60"placeholder="ヤマダタロウ">
</p>
<p><input type="submit" name ="send" value="口座開設を登録する" onclick="clickbtn()"></p>
</form>
</body>
##サンプルコード
銀行口座開設フォームが完成
<!DOCTYPE html>
<html lang="ja">
<?php
$link = mysqli_connect('localhost', 'root', '' ,'AIBANK');
if (isset($_POST['send']) === true) {
$number= htmlspecialchars(trim($_POST["number"]));
$type = htmlspecialchars(trim($_POST["type"]));
$name_full= htmlspecialchars(trim($_POST["name_full"]));
$name_kana = htmlspecialchars(trim($_POST["name_kana"]));
print($name_full);
$query = "INSERT INTO account_170(number, type, name_full, name_kana, create_date,flg_active) VALUES ('$number','1','$name_full', '$name_kana',CURRENT_TIMESTAMP,'1');";
}
if ($result = mysqli_query($link, $query)) {
echo "成功しました。\n";
print "<br>";
}else{
echo "失敗しました。\n";
print "<br>";
}
$query = "SELECT * FROM account_170;";
if ($result = mysqli_query($link, $query))
print "<table border=''>";
foreach ($result as $row) {
print "<tr>";
print "<td>" . $row["number"] . "</td>";
print "<td>" . $row["type"] . "</td>";
print "<td>" . $row["name_full"] . "</td>";
print "<td>" . $row["name_kana"] . "</td>";
print "<td>" . $row["create_date"] . "</td>";
print "<td>" . $row["flg_active"] . "</td>";
print "</tr>\n";
}
print "</table>";
mysqli_close($link);
print "<hr>";
?>
<body>
<form action="" method="post">
<h2>口座番号登録フォーム</h2>
<p>口座番号 :
<input type="text" id="number" name="number" size="60" placeholder="2020112">
</p>
<p>
預金種別 :
<input type="radio" id="type" name="type" value="1">普通預金
<input type="radio" id="type" name="type" value="2">当座預金
</p>
<p>
<label>預金者名 : </label>
<input type="text" id="name1" name="name1" size="60" placeholder="山田太郎">
</p>
<p>
預金者名(かな) :
<input type="text" id="name2" name="name2" size="60"placeholder="ヤマダタロウ">
</p>
<p><input type="submit" name ="send" value="口座開設を登録する" onclick="clickbtn()"></p>
</form>
</body>
</html>