在 Stackoverlflow 上慷慨的编码人员的大力帮助下,我一直在学习 PHP+MySQL,并且我的第一个功能数据库即将结束,但被卡住了。
我正在尝试建立一个数据库,其中用户为每个人或家庭(最多 12 人)选择房间类型。该表格的设置是为每个人分配一个房间类别(因为产品是按人而不是按房间出售的)。可用房型为 SGL、DBL(最多 2 人)、TPL(最多 3 人)和 QUD(最多 4 人)。
我有一个表格,其中包含每种房间类型的输入价格,称为 tourprices,这些价格根据旅行开始的日期在一个名为 tourstart 的单独表格中有所不同。
基本上,我想编写代码来查看为每个人选择的房间类型,查找相关的房间价格,计算每个房间类型的入住人数,乘以价格 x 房间类型数量(在旁边显示每人价格每个人)并总结所有房间的总费用。
- 价格表有行“ID、日期、SGL、DBL、TPL、QUD”
- 客户表有行“ID、姓名、购买的旅游”
- 预订表有行 *"Id, client_id, tour_id, tourdate_id, roomtype"*
- 旅游表有行 *“Tour_id,旅游名称,对销售开放/关闭”*
- 旅游日期表有行 *"Tourdate_id, tour_id, date1, date2, date3,... date25"*
例如: 旅游价格(每人)
- 2012 年 5 月 1 日巡演 - SGL=$300;DBL=150 美元;TPL=100 美元;QUD=75 美元
- 2012 年 10 月 1 日巡演 - SGL=$500;DBL=250 美元;TPL=166.67 美元;QUD=125 美元
用户想要预订 1 个 SGL、2 个 DBL、+ 1 个 TPL 用于 8 人的 1May2012 旅游。
因此,生成的确认显示应该类似于以下内容(以及通常的 HTML:“谢谢,您是最好的客户..blah,blah”,这已经很好了):
- 人 1) SGL $300
- 人 2) DBL $150
- 人 3) DBL $150
- 人 4) DBL $150
- 人 5) DBL $150
- 人 6) TPL $100
- 人 7) TPL $100
- 人 8) TPL $100
总价 = 1x$300 + 4x$150 + 3x$100 + 0x$75 = $1200
我已经为系统设置了 html 表单以及插入查询部分,并且数据正在发布到数据库中。对于计算查询(预订确认页面),我已经得到:
$selectedDate = $tourstart
$query = "SELECT `sgl`, `dbl`, `tpl`, `qud` FROM tourprices WHERE `tour_id` = $tour AND `tourstart` = $tourstart";
$query .= "COUNT `sgl` as SglRmCount FROM `clients`";
$query .= "COUNT `dbl` as DblRmCount FROM `clients`";
$query .= "COUNT `tpl` as TplRmCount FROM `clients`";
$query .= "COUNT `qud` as QudRmCount FROM `clients`";
$result = $pdo->query($query);
?>
- a)我不确定这是否是最简洁的查询。
- b) 就可以确定的而言,我的 SELECT 查询是否正确?
- c)我如何将数学引入查询(或者这是在查询之外完成的?如果是,我该如何编码?)。
先感谢您。