[英]How to automatically update the column in phpmyadmin
我的表名是保留:
| Reservation_id(pk)| 人数| 容量|
我希望当我输入人数时,要从容量列中减去no_of_people列,并为新的no_of_people更新容量列。 请告诉我如何更新容量表?
模型视图:
public function insert_into_db($people)
{
$sql = "INSERT INTO `reservation` (`no_of_people`) VALUES (?) ";
"SELECT *, `capacity`-`no_of_people` AS `capacity` FROM `reservation`";
$this->db->query( $sql, array($people) );
}
控制器视图
public function insert_people()
{
$people =$this->input->post('no_of_people');
$this->Books_model->insert_into_db($people);
redirect('Booking_Controller/view');
}
查看文件:
<form action="<?php echo base_url();?>index.php/Booking_controller/insert_people" method="POST">
<table>
<tr>
<td> <label for="no of people" class="col-sm-2 control-label"><td>Number Of People*</td></label>
</td>
<td> <input type = 'text' name='no_of_people'></td>
</tr>
<tr>
<td><input type='submit' class="btn btn-success" value="Book a Table"></td>
</tr>
</table>
请帮助我找出我在哪里犯了错误?
正如@nathanmac所暗示的那样,这是一个不好的数据库设计范例。 仍然可用的座位数和座位数量与特定的预订完全无关,因此不应存储在那里。 除其他严重的计算问题外,这意味着您始终在引用最新的预订以获取座位数,并且如果十个人的预订事先修改了预订中的人数,则您将不得不针对每个其余的保留。
更好的方法(请注意,可能有六种不错的实现方法)是按照nathanmac所说的动态计算人数。 任何时候需要确定可用的座位数时,都可以获取总容量的计数,并减去动态计算的预订数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.