由於題組三需要的資料表欄位都不少,如果按部就班的把新增功能做好再去做列表及其它功能的話,會花太多時間在新增資料上,因此根據題組提供的參考資料,我們可以先行手動在資料表中放入資料,這樣可以加快解題的速度,並可更快的驗證各個類別的功能是否運作正確
任意建立一個暫時的文字檔案,利用 phpmyadmin
的新增資料功能,可以預覽SQL語法,然後填上對應的資料,再複製多筆後貼回 phpmyadmin
的 sql
區,即可快速完成預建資料的工作。
預建預告片海報資料
1 | INSERT INTO `posters` (`id`, `img`, `name`, `rank`, `sh`, `ani`) VALUES (NULL, '03A01.jpg', '預告片01', '1', '1', '1'); |
預建院線片資料
1 | INSERT INTO `movies` (`id`, `name`, `level`, `length`, `ondate`, `publish`, `director`, `trailer`, `poster`, `intro`, `sh`, `rank`) |
預建訂單資料
訂票管理的預建資料要分兩步驟來進行,主要是座位的資料我們是採用陣列來儲存的,我們需要使用 serialize()
這個函式來將陣列轉化為字串,才能存入資料表
先建立新增資料的SQL語法字串,最後一個座位欄位先不填資料
1
2INSERT INTO `orders` (`id`, `no`, `movie`, `date`, `session`, `qt`, `seats`)
VALUES (NULL, '202309110001', '院線片01', '2023-09-10', '14:00~16:00', '1', '');利用迴圈來產生序列化後的陣列字串,並將上方的SQL字串代入
1
2
3
4
5
6
7
8
9
10for($i=0;$i<9;$i++){
//建立一個序列化的陣列字串
$seats=serialize([$i*2,$i*2+1]);
//sql字串中可以代入變數來增加sql語法的變化
$sql="INSERT INTO `orders` (`id`, `no`, `movie`, `date`, `session`, `qt`, `seats`)
VALUES (NULL, '20230911000{$i}', '院線片0{$i}', '2023-09-10', '14:00~16:00', '2', '{$seats}');";
echo $sql;
echo "<br>";
}在頁面上執行上方的迴圈,可以得到一組sql語法
1
2
3
4
5
6
7
8
9INSERT INTO `orders` (`id`, `no`, `movie`, `date`, `session`, `qt`, `seats`) VALUES (NULL, '202309110000', '院線片00', '2023-09-10', '14:00~16:00', '2', 'a:2:{i:0;i:0;i:1;i:1;}');
INSERT INTO `orders` (`id`, `no`, `movie`, `date`, `session`, `qt`, `seats`) VALUES (NULL, '202309110001', '院線片01', '2023-09-10', '14:00~16:00', '2', 'a:2:{i:0;i:2;i:1;i:3;}');
INSERT INTO `orders` (`id`, `no`, `movie`, `date`, `session`, `qt`, `seats`) VALUES (NULL, '202309110002', '院線片02', '2023-09-10', '14:00~16:00', '2', 'a:2:{i:0;i:4;i:1;i:5;}');
INSERT INTO `orders` (`id`, `no`, `movie`, `date`, `session`, `qt`, `seats`) VALUES (NULL, '202309110003', '院線片03', '2023-09-10', '14:00~16:00', '2', 'a:2:{i:0;i:6;i:1;i:7;}');
INSERT INTO `orders` (`id`, `no`, `movie`, `date`, `session`, `qt`, `seats`) VALUES (NULL, '202309110004', '院線片04', '2023-09-10', '14:00~16:00', '2', 'a:2:{i:0;i:8;i:1;i:9;}');
INSERT INTO `orders` (`id`, `no`, `movie`, `date`, `session`, `qt`, `seats`) VALUES (NULL, '202309110005', '院線片05', '2023-09-10', '14:00~16:00', '2', 'a:2:{i:0;i:10;i:1;i:11;}');
INSERT INTO `orders` (`id`, `no`, `movie`, `date`, `session`, `qt`, `seats`) VALUES (NULL, '202309110006', '院線片06', '2023-09-10', '14:00~16:00', '2', 'a:2:{i:0;i:12;i:1;i:13;}');
INSERT INTO `orders` (`id`, `no`, `movie`, `date`, `session`, `qt`, `seats`) VALUES (NULL, '202309110007', '院線片07', '2023-09-10', '14:00~16:00', '2', 'a:2:{i:0;i:14;i:1;i:15;}');
INSERT INTO `orders` (`id`, `no`, `movie`, `date`, `session`, `qt`, `seats`) VALUES (NULL, '202309110008', '院線片08', '2023-09-10', '14:00~16:00', '2', 'a:2:{i:0;i:16;i:1;i:17;}');將產生的sql語法代入資料表即可,日期或片名的部份可以自己再手動略作調整。