忍者ブログ

からすまる日誌

2020031301 ハイウェイバスの予約システム

×

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

2020031301 ハイウェイバスの予約システム

名前が被らないようなJsonもききたい


ハイウェイバスの予約システム
 
ログインとかは今回なし
db: highwaybus
table: seats column 3
 
一日一本しかないバスを予約するイメージ
バスを特定するには日付だけあればいい
日付と座席番号があれば特定できるイメージで
 
column:
ymd /date /primary
seat_id /primary
reserved / boolean(設定しても中身はint)
 
 
>カラムにプライマリーキー制約を設定すると、カラムには他のデータの値を重複することのない値しか格納することができなくなります。また NULL も格納することができません。その結果、プライマリーキー制約が設定されたカラムの値を検索することで、テーブルの中でただ一つのデータを特定することができます。
 
 

予約をするには予約済みとかがあってほしいのでデータを作っておく
 
一気にデータをつくりだす作業をする
バッチをとるとかいうらしい
 
highwaybusフォルダにフォルダをきる
api
css
js
tool
 
今回は手続き型で書く。クラスのやり方は再来週予定。
 

直下にconfig.phpを制作
 
プログラムはおおむね暗記は必要なく理解がひつようだが
PDOの流れやループの書き方はある程度出力を何回かやって書き方を覚える必要がある
らしい 

$dsn = "mysql:host={$host};dbname={$dbname};charset=utf8";
ここは区切り文字はセミコロン。前のテストで間違えたやつだ。
カンマは配列であるとか関数のパラメータの区切り文字で使う。
 
ところで変数というのは場合によって変数おせんを受けるかもしれない
$dsn = "mysql:host={$host};dbname={$dbname};charset=utf8";
ここをよりセキュアにしたいと思ったら定数を使う
文字列連結をしないといけなくなるのでむつかしい
商用なら定数をつかうとセキュア
 
defineというキーワードがある
オリジナルの定数を作ることが出来る
パラメータは2つ
定義をするときには丸括弧とダブルクォートを使う
 
書いたときにすぐ「定数だ」とわかるように全部大文字で書くのがふつう
define("HOST_NAME","localhost");
こんな風に記述する
既にある定数とかぶらなければなんでも名前は自由
 
define("DB_PASS","");
これはできない
空文字はいれられない
 
本番で運用するときパスワードがないということはありえないのでなにかしら値が入る
 
逆にパスワードってどこで設定するの??
→プロバイダがくれるらしい
 

echo HOST_NAME;
とか書ける。
丸括弧も""もいらない。
これだけでエコーされる
 
--->ここまで
 
config.php
 
<?php
//setting
//環境によって変える
$host = "localhost";
$dbname = "highwaybus";
$dbuser = "root";
$dbpass = "";
//
$dsn = "mysql:host={$host};dbname={$dbname};charset=utf8";
$pdo = new PDO($dsn,$dbuser,$dbpass);
/*
//定数を使うやり方
define("HOST_NAME","localhost");
define("DB_NAME","highwaybus");
define("DB_USER","root");
define("DB_PASS","");
echo HOST_NAME;
*/
?>
 
PR

コメント

ブログ内検索

カレンダー

03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30