我正在构建一个php表单,用户可以在其中选择要在其帐户上提供的许多服务。
如附图所示,用户可以选择3种服务(每种服务都有名称和价格)。
如果a是用户填写表单,并且该用户选择服务1,2和3,每个服务都有自己的价格,我如何将它们插入数据库,每个服务都有自己的行?
这是我的代码 -
但它不起作用,它只插入一行包含最后一个数据。
public function insert_data($post_data){
extract($post_data);
if ($service_1 != '' && $service_1_price != ''){
$artist_services['service_1'] = $service_1;
$artist_services['service_1_price'] = $service_1_price;
$artist_services['uid'] = $_SESSION['user_id'];
$this->db->insert('artist_services', $artist_services);
}
if ($service_2 != '' && $service__price != ''){
$artist_services['service_2'] = $service_2;
$artist_services['service_1_price'] = $service_2_price;
$artist_services['uid'] = $_SESSION['user_id'];
$this->db->insert('artist_services', $artist_services);
}
}
我的问题是,如何将所有服务插入MySQL数据库,每个服务都有自己的行?
答案 0 :(得分:0)
你有:
if ($service_2 != '' && $service__price != ''){
你想:
if ($service_2 != '' && $service_2_price != ''){
还有一些不合适的地方$artist_services['service_2']
但$artist_services['service_1_price']
。但是那里应该service_2_price
并不明显。数据库架构不是service
和price
而没有任何数字吗?这将是典型的;为不同的服务设置单独的列几乎肯定不是你想要的。