我有一个表单来获取员工ID,姓名等员工详细信息。我有另一个表,其中包含员工可以执行的服务。当我创建一个新员工时,我需要选择他们可以执行的服务。
员工的表结构如下:
CREATE TABLE IF NOT EXISTS `employee` (
`emp_id` int(10) NOT NULL AUTO_INCREMENT,
`emp_first_name` varchar(10) NOT NULL,
`emp_last_name` varchar(10) NOT NULL,
`emp_emergency_contact` int(15) NOT NULL,
`emp_id_card` varchar(10) NOT NULL,
`emp_time_in` time NOT NULL,
`emp_time_out` time NOT NULL,
`emp_date_of_hire` varchar(10) NOT NULL,
`emp_date_of_termination` varchar(11) NOT NULL,
`emp_date_of_rehire` varchar(11) NOT NULL,
`emp_reference_number` int(10) NOT NULL,
`emp_service_limitation` varchar(20) NOT NULL,
`emp_chair_renter` varchar(10) NOT NULL,
`emp_certificates` varchar(20) NOT NULL,
PRIMARY KEY (`emp_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=243867 ;
另一项表服务如下:
CREATE TABLE IF NOT EXISTS `service` (
`id` int(11) NOT NULL,
`service_name` varchar(30) NOT NULL,
`category` varchar(30) NOT NULL,
`service_tax` varchar(20) NOT NULL,
`service_length` int(10) NOT NULL,
`service_price` double NOT NULL,
`manufacture_id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
当我单击添加服务按钮时,我需要将employee id和service id插入另一个表addservice,其中包含employee_id和service_id。我有一个单独的员工和服务的控制器,模型和视图。当我输入员工详细信息时,我需要同时插入服务和员工ID。
有些人可以帮我编写模型,控制器和视图代码。我单击该服务的视图文件是:
<table class="table table-striped table-bordered table-condensed">
<thead>
<tr>
<th class="header">Service id</th>
<th class="yellow header headerSortDown">Service name </th>
<th class="green header">Service catogary</th>
<th class="red header">Service tax</th>
<th class="red header">Service length</th>
<th class="red header">Service price</th>
<th class="red header">Actions</th>
</tr>
</thead>
<tbody>
<?php
foreach($service as $row)
{
echo '<tr>';
echo '<td>'.$row['id'].'</td>';
echo '<td>'.$row['service_name'].'</td>';
echo '<td>'.$row['category'].'</td>';
echo '<td>'.$row['service_tax'].'</td>';
echo '<td>'.$row['service_length'].'</td>';
echo '<td>'.$row['service_price'].'</td>';
echo '<td class="crud-actions">
<a href="'.site_url("admin").'/selected/add/'.$row['id'].'" class="btn btn-info">Add service</a>
</td>';
echo '</tr>';
}
?>
</tbody>
</table>
<a href='admin/employee/add' class="btn btn-info">Continue as chair renter</a>
<?php echo '<div class="pagination">'.$this->pagination->create_links().'</div>'; ?>
我不知道如何为控制器和模型编写代码。 我的模特页面
class selected extends CI_Model
{
function store_service($data)
{
$insert = $this->db->insert('service', $data);
return $insert;
}
}
我的控制器
class Admin_employee extends CI_Controller {
public function add()
{
$data_to_store = array(
'id' => $this->input->post('id'),
);
//if the insert has returned true then we show the flash message
if($this->addservice_model->store_addservice($data_to_store)){
$data['flash_message'] = TRUE;
}else{
$data['flash_message'] = FALSE;
}
}
}
//load the view
$data['main_content'] = 'admin/addservice/add';
$this->load->view('includes/template', $data);
}
}
答案 0 :(得分:0)
据我了解你的问题,你想通过从表中选择来添加员工细节和添加服务。为此你可以在隐藏字段中添加按钮存储值的点击事件调用函数。
<button onClick="add_service(this,<?php echo $row['id'];?>)">Add</button>
<input id="service_ids" name="service_ids" type="hidden">
的javascript:
<script>
function add_service(clicked_button,service_id)
{
$(clicked_button).attr('disabled','disabled');
if($("#service_ids").val()=="")
{
$("#service_ids").val(service_id);
}
else
{
var serviceids=$("#service_ids").val()+','+service_id;
$("#service_ids").val(serviceids);
}
}
</script>
现在,当您发布表单时,您可以以逗号分隔的字符串获取员工详细信息和服务ID。 插入员工后使用`$ insertid = $ this-&gt; db-&gt; insert_id();最后插入ID,这将是您当前的员工ID。
使用PHP explode函数将它们提取为array.Now循环遍历此数组,您将获得服务ID。