У меня есть три Dynami c зависимых раскрывающихся списка в Codeigniter: -
- Один из них представляет
company names
- Согласно компании I выберите Я хочу показать менеджеров этой конкретной компании в одном из других раскрывающихся меню
- Персонал компании показан в моем третьем раскрывающемся списке.
И менеджер, и персонал сохраняются в одном столбце с именем role_name
в role_settings
таблице базы данных.
Пока я продолжаю свой код, чтобы получить список менеджеров в раскрывающемся списке, но когда я запускаю свой код, ничего не происходит, и я действительно не знаю, как получить список сотрудников в другом раскрывающемся списке. Вот мой код.
Проект. php Контроллер: -
<?php
class Project extends CI_controller
{
function __construct()
{
parent::__construct();
// if(!$this->session->userdata('admin'))
// redirect('admin');
$this->load->model('project_model');
}
function index ()
{
$data['project'] = $this->project_model->getProjectDetails();
$this->load->view('admin/project/index',$data);
}
function add()
{
$this->form_validation->set_rules('Pname', 'Project Name', 'required');
$this->form_validation->set_rules('Cname', 'Client Name' , 'required');
$this->form_validation->set_rules('PassignTo', 'Company', 'required');
$this->form_validation->set_rules('manager', 'Manager' , 'required');
$this->form_validation->set_rules('staff', 'Support Staff', 'required');
$data['company_name'] = $this->project_model->getAllCompanyName();
$data['project'] = $this->project_model->getProjectDetails();
if ($this->form_validation->run() ==true)
{
$this->project_model->add();
$this->session->set_flashdata ('success','Project Added Sucessfully');
redirect('admin/project/index',$data);
}
else{
$this->load->view('admin/project/add',$data);
}
}
function edit($id)
{
$data['project'] = $this->project_model->getById($id);
$data['company_name'] = $this->project_model->getAllCompanyName();
$this->load->view('admin/project/edit', $data);
}
function update($id)
{
$this->project_model->update($id);
$this->session->set_flashdata ('success','Project updated Sucessfully');
redirect('admin/project/index');
}
function delete($id)
{
$this->project_model->delete($id);
$this->session->set_flashdata ('success','Project Deleted Sucessfully');
redirect('admin/project/index');
}
function getAllManger()
{
print_r($_REQUEST);
die;
if ($this->input->post('company_id'))
{
echo $this->project_model->
getAllManger($this->input->post('company_id'));
}
}
}
Project_model. php Код модели: -
<?php
class Project_model extends CI_Model
{
function getProjectDetails()
{
//table (projects)
return $this->db->get('projects')->result();
}
function getById($id)
{
return $this->db->get_where('projects',array('id'=>$id))->row();
}
function add()
{
$arr['project_name'] = $this->input->post('Pname');
$arr['client_name'] = $this->input->post('Cname');
$arr['company'] = $this->input->post('PassignTo');
$arr['project_manager'] = $this->input->post('manager');
$arr['support_staff'] = $this->input->post('staff');
$this->db->insert('projects',$arr);
}
function update($id)
{
$arr['project_name'] = $this->input->post('Cname');
$arr['client_name'] = $this->input->post('regNo');
$arr['company'] = $this->input->post('company');
$arr['project_manager'] = $this->input->post('manager');
$arr['support_staff'] = $this->input->post('staff');
$this->db->update('projects',$arr);
}
function delete($id)
{
$this->db->where(array('id'=>$id));
$this->db->delete('projects');
}
function getAllCompanyName()
{
$this->load->model('company_model');
$this->company_model->getCompanyDetails();
$this->db->order_by('company_name', 'ASC');
$query = $this->db->get('company_details');
//$query = $this->db->query('SELECT company_name FROM company_details');
return $query->result();
}
function getAllManger($company_id)
{
$this->db->where('id',$company_id);
$this->db->oredr_by('role_name', 'ASC');
$query = $this->db->get('roles_settings');
$output = '<option value="">Select Mangaer</option>';
foreach($query->result() as $row)
{
$output .= '<option value=" '.$row->manager_id.'">'.$row->project_manager. '</option>';
}
return $output;
}
function getAllStaff()
{
}
}
доп. php Просмотр
<?php
$this->load->view('admin/header');
?>
<div class="main-sec">
<div class="row">
<div class="col-md-8">
<nav>
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="<?php echo site_url ('admin/dashboard');?>">Home</a></li>
<li class="breadcrumb-item"><a href="<?php echo site_url ('admin/project');?>">Projects</a></li>
<li class="breadcrumb-item active">Add Projects</li>
</ol>
</nav>
</div>
<div class="col-md-4">
<!-- <button class="btn btn-outline-primary float-right" id="addProjects"><i class="fa fa-plus-circle" aria-hidden="true"></i> Add Projects</button> -->
<?php
if($this->session->flashdata('success'))
{
?>
<div class="alert alert-success" role="alert">
<?php
echo $this->session->flashdata('success');
?>
</div>
<?php
}?>
</div>
</div>
<div class="main-sec-contant">
<div class="ProjectsAdd" >
<h2 class="heading">Add Project</h2>
<?php echo form_open('project_add'); ?>
<div class="row">
<div class="form-group col-md-4">
<label for="text">Project Name</label>
<input type="text" class="form-control" id="Pname" placeholder="Name" name="Pname" value="<?php echo set_value('Pname'); ?>">
<div class="alert-danger"><?php echo form_error('Pname'); ?></div>
</div>
<div class="form-group col-md-4">
<label for="pwd">Client Name</label>
<input type="text" class="form-control" id="Cname" placeholder="Client Name" name="Cname" value="<?php echo set_value('Cname'); ?>">
<div class="alert-danger"><?php echo form_error('Cname'); ?></div>
</div>
<div class="form-group col-md-4">
<label for="pwd">Project Assign To</label>
<select class="form-control" id="company" name="PassignTo" value="<?php echo set_value('PassignTo'); ?>">
<div class="alert-danger"><?php echo form_error('PassignTo'); ?></div>
<?php
foreach($company_name as $row )
{
echo '<option value="'.$row->id.'">'.$row->company_name.'</option>';
}
?>
</select>
</div>
<div class="form-group col-md-4">
<label for="pwd">Project Manager</label>
<select class="form-control" id="manager" name="manager" value="<?php echo set_value('manager'); ?>">
<div class="alert-danger"><?php echo form_error('manager'); ?></div>
<option value="">Select Mangaer</option>
</select>
</div>
<div class="form-group col-md-4">
<label for="pwd">Add Support Staff</label>
<select id="addStaffMulti" multiple="multiple" name="staff" value="<?php echo set_value('staff'); ?>">
<div class="alert-danger"><?php echo form_error('staff'); ?></div>
<option value="">Select Staff</option>
</select>
</div>
<div class="col-md-12">
<div class="btn-section float-right">
<button class="btn btn-outline-primary" type="submit" name="create" ><i class="fa fa-plus-circle" aria-hidden="true"></i> Create</button>
<a href="<?php echo site_url ('project');?>"> <button class="btn btn-danger float-right" id="cancelProjects" type="button" name="cancel" onClick="window.location.href=admin/project" ><i class="fa fa-plus-circle" aria-hidden="true"></i> Cancel</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<?php
$this->load->view('admin/footer');
?>
JQUERY AJAX КОД: -
<script>
$(document).ready(function()
{
$('#company').change(function(){
var company_id = $('#company').val();
if(company_id != '')
{
$.ajax({
url:"<?php echo base_url();?>
project/getAllManger",
method:"POST",
data:{company_id:company_id },
success:function(data)
{
$('#manager').html(data);
$('#addStaffMulti').html(' <option value="">Select Staff</option>');
}
});
}
else
{
$('#manager').html('<option value="">Select Mangaer</option>');
$('#addStaffMulti').html('<option value="">Select Staff</option>');
}
});
$()
});
});
</
<script>
И изображение ниже - это изображение role_settings
таблицы в базе данных, я в основном пытаюсь отобразить все managers
из role_name
столбца в моем раскрывающемся списке диспетчера и отобразить остальную часть role_name
данные столбца на раскрывающийся список Добавить материал .
введите описание изображения здесь