忍者ブログ

からすまる日誌 mySQL

授業ノートのまとめ

高度(11) 予約システム(2)

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

高度(11) 予約システム(2)


htdocsは公共wifiのとこで動かしちゃまずい
ザンプを立ち上げたらサーバが起動してるのと同じなので
世界につながってしまう
狙われたら大変まずい
 

MACアドレスというのが紐づいているらしい
 
端末とルータとは勝手に通信している
近くの電波はどこかしらと常にやりとりしていて
ルータにその情報が残っている
 
端末の中身のチップに刻印されたシリアル番号のようなもの
メーカ番号と製造番号をたしたようなもの
同じ番号がひとつもない
個体識別
その端末の持っているLANカードの情報を特定するための情報
 
ある一定のおなじMACアドレスが移動している(持ち主が動いている)ことが追跡できてしまう
街を歩いているといろんなルータが拾っちゃうから
 

コンフィグはこのへんにして
バッチを作りましょう
 
まだ予約されてないデータを一気に作りたい
 
4*5ぐらいで20席あることにする
 
バッチ処理で20席吐き出すのをつくる
toolのなかに保存
管理者が使うものなので
 
toolフォルダのなかだから../config.phpを参照させリクワイアーする
 
日付を飛ばされてから作りたいのでif文で分岐
 
if(empty($_GET["ymd"])){
 exit();
}
 
アドレスにgetと?をつけて日付を飛ばして初めて動くページ
 

insert文
今回は分けて書く方式でやってみましょう
半角スペース忘れずに
 

 
 
未予約なのでreservedに全席0(reserved/ブーリアン)を挿入
 
$sql="INSERT INTO seats (ymd,seat_id,reserved)";
$sql.=" VALUES(:ymd,:seat,0)";
$stmt = $pdo->prepare($sql);
 

座席番号は1番からがふつうなので
forも1からまわす
 
data型は文字として扱われるのでパラムストラ。
まっしろになってる
よろしい
 
ここまで
 

make_seat_data.php
 
<?php
//?ymd=2020-03-14みたいにurlに追加すると出力
 
if(empty($_GET["ymd"])){
 exit();
}
 
require_once("../config.php");
$sql="INSERT INTO seats (ymd,seat_id,reserved)";
$sql.=" VALUES(:ymd,:seat_id,0)";
$stmt = $pdo->prepare($sql);
 
for($i=1; $i<=20; $i++){
 $stmt->bindValue(":ymd",$_GET["ymd"],PDO::PARAM_STR);
 $stmt->bindValue(":seat_id",$i,PDO::PARAM_INT);
 $stmt->execute();
}
 
?>
 
http://localhost/php/makino/highwaybus/tool/make_seat_data.php?ymd=2020-3-14
を入れると20件追加される
 
 
なおエラーががっつりでていた
forでまわしているから20回怒ってる
 
 
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in C:\xampp\htdocs\php\makino\highwaybus\tool\make_seat_data.php on line 16
 
「無効なパラメーター番号:パラメーターが定義されていません」
はじめてみた
 
 
ここが一致してないとこういうエラーがでる
INSERT文のプレイスホルダーの名前と
bindValue側のプレイスホルダーの名前が違っていた
 

2件ぐらいデータを予約済みにしておく
seat.phpを作成
 
とりあえず型をつくる
 
seat.php
 
<!DOCTYPE html>
<html lang="ja">
 <head>
  <meta charset="UTF-8">
  <title>座席予約</title>
  <link rel="stylesheet" href="css/style.css">
  <script src="../jquery-3.4.1.min.js"></script>
 </head>
 <body>
  <div id="container">
   <p>
    <select id="ymd">
     <option value="">日付の選択</option>
     <option value="2020-03-14">2020-03-14</option>
     <option value="2020-03-15">2020-03-15</option>
     <option value="2020-03-16">2020-03-16</option>
    </select>
   </p>
   
   <div id="front">進行方向↑</div>
   <!--座席をプログラムで書き出し-->
   <div id="bus"></div>
   <p><button id="b1">決定</button></p>
   
  </div>

  <script src="js/seat.js"></script>  
 </body>
</html>
PR

コメント

ただいまコメントを受けつけておりません。

プロフィール

HN:
karasumaru
性別:
非公開

P R