单击按钮时如何插入表格?

时间:2015-06-29 06:54:54

标签: php mysql codeigniter

我有一个表单来获取员工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);  
    }       

}

1 个答案:

答案 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。