設定例
- プレイ時間によって課金が行われる
- 加入プランによって無課金プレイできる時間が設定されている
- プレイ履歴によって請求額とポイント合算を求める
test.sql
-- phpMyAdmin SQL Dump -- version 4.9.1 -- https://www.phpmyadmin.net/ -- -- ホスト: db -- 生成日時: 2019 年 12 月 21 日 16:41 -- サーバのバージョン: 5.7.28 -- PHP のバージョン: 7.2.22 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET AUTOCOMMIT = 0; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- データベース: `test` -- -- -------------------------------------------------------- -- -- テーブルの構造 `plans` -- CREATE TABLE `plans` ( `plan_name` varchar(255) NOT NULL, `price` int(11) NOT NULL, `point` int(11) NOT NULL, `start_freetime1` time NOT NULL, `end_freetime1` time NOT NULL, `id` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- テーブルのデータのダンプ `plans` -- INSERT INTO `plans` (`plan_name`, `price`, `point`, `start_freetime1`, `end_freetime1`, `id`) VALUES ('VIP', 100, 10, '00:00:00', '23:00:00', 1), ('A', 200, 25, '23:00:00', '05:00:00', 2), ('B', 500, 50, '12:00:00', '15:00:00', 3); -- -------------------------------------------------------- -- -- テーブルの構造 `play_history` -- CREATE TABLE `play_history` ( `user_id` int(11) NOT NULL, `start_time` time NOT NULL, `end_time` time NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- テーブルのデータのダンプ `play_history` -- INSERT INTO `play_history` (`user_id`, `start_time`, `end_time`) VALUES (1, '15:00:00', '17:00:00'), (1, '23:00:00', '06:00:00'), (1, '23:00:00', '06:00:00'), (2, '09:30:00', '20:00:00'), (2, '09:30:00', '20:00:00'), (2, '23:00:00', '24:00:00'); -- -------------------------------------------------------- -- -- テーブルの構造 `users` -- CREATE TABLE `users` ( `user_id` int(11) NOT NULL, `user_name` varchar(11) NOT NULL, `plan_name` varchar(255) NOT NULL, `point` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- テーブルのデータのダンプ `users` -- INSERT INTO `users` (`user_id`, `user_name`, `plan_name`, `point`) VALUES (1, 'yuu', 'A', 100), (2, 'satou', 'VIP', 1000), (3, 'suzuki', 'B', 350), (4, 'iwata', 'B', 200); -- -- ダンプしたテーブルのインデックス -- -- -- テーブルのインデックス `plans` -- ALTER TABLE `plans` ADD PRIMARY KEY (`id`); -- -- テーブルのインデックス `users` -- ALTER TABLE `users` ADD PRIMARY KEY (`user_id`); -- -- ダンプしたテーブルのAUTO_INCREMENT -- -- -- テーブルのAUTO_INCREMENT `plans` -- ALTER TABLE `plans` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4; -- -- テーブルのAUTO_INCREMENT `users` -- ALTER TABLE `users` MODIFY `user_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5; COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;