如何使用一个ajax多次将变量传递给模型 [英] How to pass variable to the model multiple times using one ajax
问题描述
我目前在如何找到解决方案上遇到麻烦.因此,首先,我将显示项目工作详细信息,但我无法找出为什么它继续获取所有数据(其中存在查询异常)的原因.这样做的问题可能是我无法将ProjectID传递到模型中,因此,它无法识别唯一键,也无法在指定项目中显示详细信息.请帮忙.非常感激. :)顺便说一句,我正在使用代码点火器.我在下面插入我的代码供您查找!谢谢!
================================================== ================================
项目视图
I''m currently in troubled on how to find a solution for this. So to start with, i am displaying project work details and I just cant find out why it keeps on fetching all data wherein there exceptions on the query. The problem with that was probably i could not pass the ProjectID into the model and thus, it doesn''t recognize a unique key and doesn''t display details in the specified project. Need help please. Much appreciated. :) BTW i am using code igniter. I am inserting my code below for you to find out! thanks!
===================================================================================
PROJECT VIEW
<?php
include (''fragments/profile_header.php'');
include(''fragments/profile_nav.php'');
?>
<div class="content-wrapper">
<section class="content">
<!-- table -->
<div class="box box-primary" id="projectman">
<div class="box-header">
<h2 class="box-title">Poject Management</h2>
<div class="box-tools pull-right">
<a href="AddProject"><button type="button" class="btn btn-primary"> ADD PROJECT</button></a>
</div>
<hr class="divider">
</div>
<div class="box-body">
<table id="table2" class="table table-bordered table-striped dataTable" role="grid" aria-describedby="example1_info">
<thead>
<tr role="row"><th class="sorting_asc" tabindex="0" aria-controls="example1" rowspan="1" colspan="1" aria-sort="ascending" aria-label="Rendering engine: activate to sort column descending" style="width: 120px;">Project No</th><th class="sorting_asc" tabindex="0" aria-controls="example1" rowspan="1" colspan="1" aria-sort="ascending" aria-label="Rendering engine: activate to sort column descending" style="width: 120px;">Project Name</th>
<th class="sorting" tabindex="0" aria-controls="example1" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending" style="width: 120px;">Location</th><th class="sorting" tabindex="0" aria-controls="example1" rowspan="1" colspan="1" aria-label="Engine version: activate to sort column ascending" style="width: 120px;">Contractor</th>
<th class="sorting" tabindex="0" aria-controls="example1" rowspan="1" colspan="1" aria-label="Engine version: activate to sort column ascending" style="width: 120px;">Contractor Cost</th><th class="sorting" tabindex="0" aria-controls="example1" rowspan="1" colspan="1" aria-label="Engine version: activate to sort column ascending" style="width: 120px;">Date Started</th>
<th class="sorting" tabindex="0" aria-controls="example1" rowspan="1" colspan="1" aria-label="Engine version: activate to sort column ascending" style="width: 120px;">Contract Period</th>
<th class="sorting" tabindex="0" aria-controls="example1" rowspan="1" colspan="1" aria-label="Engine version: activate to sort column ascending" style="width: 120px;">Conforme</th>
<th class="sorting" tabindex="0" aria-controls="example1" rowspan="1" colspan="1" aria-label="Engine version: activate to sort column ascending" style="width: 100px;">Action</th></tr>
</thead>
<tbody>
<?php
$project = $this->pmmm->get_project();
foreach ($project as $project->) {
echo''<tr>
<td style="text-transform: capitalize;font-size:14px">''.$project->ProjectNo.''</td>
<td style="text-transform: capitalize;font-size:14px">''.$project->ProjectName.''</td>
<td style="text-transform: capitalize;font-size:14px">''.$project->Location.''</td>
<td style="font-size:14px">''.$project->Contractor .''</td>
<td style="font-size:14px">''.$project->ContractorCost .''</td>
<td style="font-size:14px">''.$project->DateStarted .''</td>
<td style="font-size:14px">''.$project->ContractPeriod .'' C.D.</td>
<td style="font-size:14px">''.$project->Conforme .''</td>
<td style="text-align:center;">
<button class="btn btn-flat btn-primary btn-sm" title="EDIT FRAME" onclick="edit_project(''."''".$project->ProjectID."''".'')"> Edit
</button>
<button class="btn btn-flat btn-warning btn-sm" title="ADD PROJECT WORK" onclick="view(''."''".$project->ProjectID."''".'')"> Add Project Work
</button>
</td>
</tr>'';
}
?>
</tbody>
</table>
</div><!-- end box body -->
</div>
<div class="box-footer hidden" id="projwork">
<h3 class="header-title"> Project: <label name="projectname"></label></h3>
<input type="hidden" name="proj_id">
<div class="form-group">
<!-- table -->
<div class="col-md-7">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title"> Project Work Details</h3>
</div>
<div class="box-body">
<table id="table" class="table table-bordered table-striped dataTable" role="grid" aria-describedby="example1_info">
<thead>
<tr>
<th>Project Program Work ID</th>
<th>Project Work Description</th>
<th>Contract Amount</th>
<!-- <th>Action </th> -->
</tr>
</thead>
<tbody>
<?php
$pm_project = $this->pmmm->get_project_programwork2();
foreach ($pm_project as $pm_project) {
echo''<tr>
<td style="text-transform: capitalize;font-size:14px">''.$pm_project->Project_ProgramWorkID.''</td>
<td style="text-transform: capitalize;font-size:14px">''.$pm_project->ProgramWorkDescription.''</td>
<td style="text-transform: capitalize;font-size:14px">''.$pm_project->ContractAmount.''</td>
</tr>'';
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<!-- add project work -->
<div class="col-md-5">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title"> Add Project Work</h3>
</div>
<div class="box-body">
<?php echo form_open_multipart(''ProjectManagement/add_work'');?>
<div class="form-horizontal">
<div class="form-group">
<label class="col-sm-4 control-label">Project Work Description</label>
<!-- from databese tbl_programwork -->
<div class="col-sm-8">
<select type="text" class="form-control" name="ProgramWork" required>
<?php
$work = $this->pmmm->get_progwork();
foreach ($work as $work) {
echo ''<option value=''.$work->ProgramWorkID.''>''.$work->ProgramWorkDescription.''</option>'';
}
?>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label">Contract Amount</label>
<div class="col-sm-5">
<input type="number" class="form-control" name="ContractAmount" placeholder="₱ 0, 000, 000" required>
</div>
</div>
</div>
<div class="box-footer">
<!-- will be save in tbl_project_programwork -->
<button type="submit" class="btn btn-primary pull-right">SAVE PROJECT WORK</button>
</div></div>
</form>
</div>
</div>
</div>
</div></div></section> </div><!-- end box -->
</section>
</div><!-- end content wrapper -->
<?php
include(''fragments/profile_footer.php'');
// include(''fragments/profile_scipt.php'');
?>
<!-- EDIT PROJECT MODAL-->
<!-- <div class="modal modal-default" id="edit_form" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h3 class="modal-title">Update Project Details</h3>
</div>
<div class="modal-body form">
<form action="#" id="editForm" class="form-horizontal">
<input type="hidden" value="" name="employee_id" id="employee_id" />
<div class="form-group">
<label class="control-label col-md-3">Project No.</label>
<div class="col-md-9">
<input name="proj_no" class="form-control" type="text" >
<span class="help-block"></span>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3">Project Supervisor</label>
<div class="col-md-9">
<select type="text" class="form-control" name="proj_sup">
<?php
$emp = $this->pmmm->get_employee();
foreach ($emp as $emp) {
echo ''<option value=''.$emp->WorkerID.''>''.$emp->Name.''</option>'';
}
?>
</select>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3">Project Name</label>
<div class="col-md-9">
<input name="proj_name" class="form-control" type="text" >
<span class="help-block"></span>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3">Location</label>
<div class="col-md-9">
<input name="loc" class="form-control" type="text" >
<span class="help-block"></span>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3">Contractor Cost</label>
<div class="col-md-9">
<input name="cont_cost" class="form-control" type="text" >
<span class="help-block"></span>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3">Date Startedr</label>
<div class="col-md-9">
<input name="date_start" class="form-control" type="text" >
<span class="help-block"></span>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3">Contract Period</label>
<div class="col-md-9">
<input name="cont_per" class="form-control" type="text" >
<span class="help-block"></span>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3">Conforme</label>
<div class="col-md-9">
<input name="confor" class="form-control" type="text" >
<span class="help-block"></span>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" id="btnUpdate" onclick="save()" class="btn btn-primary">Update</button>
<button type="button" class="btn btn-danger btn-flat pull-left" data-dismiss="modal">Cancel</button>
</div>
</div>
</div>
</div>
-->
<script type="text/javascript">
$(document).ready(function() {
$(''#table2'').DataTable({
"paging": true,
"lengthChange": true,
"searching": true,
"ordering": true,
"info": true,
"autoWidth": false,
pageLength:10
});
});
$(document).ready(function(){
$(''#table'').DataTable();
});
function view(project_id){
$.ajax({
url: "<?php echo site_url(''ProjectManagement/ajax_view_program/'')?>" + project_id,
type: "GET",
dataType: "JSON",
success: function(data){
console.log(data);
$(''[name="projectname"]'').text(data[0].ProjectName);
$(''[name="ProgramWork"]'').text(data[0].ProgramWorkID);
$(''[name="proj_id"]'').val(data[0].ProjectID);
$(''#projwork'').removeClass("hidden");
$(''#projectman'').addClass("hidden");
},
error: function(jqXHR, textStatus, errorThrown)
{
alert(''Error retreiving data'');
}
});
}
//-----EDIT PROJECT FUNCTIONS//
// function edit_project(ProjectID){
// $(''#editForm'')[0].reset();
// $.ajax({
// url: "<?php echo site_url(''ProjectManagement/ajax_view_project/'')?>" + ProjectID,
// type:"GET",
// dataType: "JSON",
// success: function(data)
// {
// console.log(data);
// $(''[name="proj_no"]'').val(data[0].ProjectNo);
// $(''[name="proj_sup"]'').val(data[0].WorkerID);
// $(''[name="proj_name"]'').val(data[0].ProjectName);
// $(''[name="loc"]'').val(data[0].Location);
// $(''[name="cont_cost"]'').val(data[0].ContractorCost);
// $(''[name="date_start"]'').val(data[0].DateStarted);
// $(''[name="cont_per"]'').val(data[0].ContractPeriod);
// $(''[name="confor"]'').val(data[0].Conforme);
// $(''[name="pro"]'').val(data[0].ProjectID);
// $(''#edit_form'').modal(''show'');
// $(''.modal-title'').text(''Edit Project Details'');
// },
// error: function(jqXHR, textStatus, errorThrown)
// {
// alert(''Error retrieving data'');
// }
// });
// }
// function save(){
// url = "<?php echo site_url(''ProjectManagement/update'')?>"
// form = ''#editForm'';
// $.ajax({
// url : url,
// type: "POST",
// data: $(form).serialize(),
// dataType: "JSON",
// success: function(data)
// {
// $(''#edit_form'').modal(''hide'');
// alert(''Project Details Updated!'');
// location.reload();
// },
// error: function (jqXHR, textStatus, errorThrown)
// {
// console.log(jqXHR);
// alert("Error getting data!");
// // }
// });
// }
</script>
================================================== ===============================
项目负责人
==================================================================================
PROJECT CONTROLLER
<?php if ( ! defined(''BASEPATH'')) exit(''No direct script access allowed'');
class ProjectManagement extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->model(''ProjMan_management_model'',''pmmm'');
}
function index()
{
if($this->session->userdata(''logged_in'')){
$session_data = $this->session->userdata(''logged_in'');
$data[''userAccID''] = $this->session->userdata(''logged_in'')[''userAccID''];
$data[''name''] = $this->session->userdata(''logged_in'')[''name''];
$data[''access''] = $this->session->userdata(''logged_in'')[''access''];
$data[''project''] = $this->pmmm->get_project();
$data[''emp''] = $this->pmmm->get_employee();
$data[''work''] = $this->pmmm->get_progwork();
/*$data[''pm_project''] = $this->pmmm->get_project_programwork2();*/
$this->load->helper(array(''form''));
$this->load->view(''projman_view'');
}else
{
//If no session, redirect to login page
redirect(''home_view'', ''refresh'');
}
}
public function ajax_view_program($project_id)
{
$data = $this->pmmm->get_by_project_id($project_id);
echo json_encode($data);
}
public function ajax_view_project($project_id)
{
$data = $this->pmmm->get_by_project_id($project_id);
echo json_encode($data);
}
public function update()
{
$data = array(
''ProjectNo'' => $this->input->post(''proj_no''),
''WorkerID'' => $this->input->post(''proj_sup''),
''ProjectName'' => $this->input->post(''proj_name''),
''Location'' => $this->input->post(''loc''),
''ContractorCost'' => $this->input->post(''cont_cost''),
''DateStarted'' => $this->input->post(''date_start''),
''ContractPeriod'' => $this->input->post(''cont_per''),
''Conforme'' => $this->input->post(''confor'')) ;
$this->pmmm->update_project(array(''ProjectID'' => $this->input->post(''project_id'')), $data);
echo json_encode(array("status" => TRUE));
}
public function add_work(){
$data = array(
''ContractAmount'' => $this->input->post(''ContractAmount''),
''ProjectID'' => $this->input->post(''proj_id''),
''ProgramWorkID'' => $this->input->post(''ProgramWork'')
);
$this->pmmm->add_work($data);
redirect(''ProjectManagement'', ''refresh'');
}
}
?>
================================================== =========================
项目模型
=============================================================================
PROJECT MODEL
<?php
defined(''BASEPATH'') OR exit(''No direct script access allowed'');
class ProjMan_management_model extends CI_Model {
public function __construct()
{
parent::__construct();
$this->load->database();
}
public function get_progwork(){
$this->db->select(''*'');
$this->db->from(''tbl_programwork'');
$query = $this->db->get();
return $query->result();
}
public function get_project(){
$this->db->from(''tbl_projects p'');
$this->db->join(''tbl_employee e'', ''e.WorkerID = p.WorkerID'', ''left'');
$query = $this->db->get();
return $query->result();
}
public function get_by_projectid($project_id){
$this->db->select(''*'');
$this->db->from(''tbl_projects p'');
$this->db->where(''p.ProjectID'', $project_id);
$query = $this->db->get();
return $query->result();
}
public function get_employee(){
$this->db->from(''tbl_employee'');
$query = $this->db->get();
return $query->result();
}
public function update_project($where, $data)
{
$this->db->update(''tbl_projects'', $data, $where);
return $this->db->affected_rows();
}
public function add_work($data){
$this->db->insert(''tbl_project_programwork'',$data);
return $this->db->insert_id();
}
public function get_by_project_id($project_id){
$this->db->select(''*'');
$this->db->from(''tbl_projects p'');
$this->db->join(''tbl_project_programwork pp'', ''p.ProjectID = pp.ProjectID'', ''left'');
$this->db->join(''tbl_programwork pw'', ''pw.ProgramWorkID = pp.ProgramWorkID'', ''left'');
$this->db->where(''p.ProjectID'', $project_id);
$query = $this->db->get();
return $query->result();
}
public function get_project_programwork2(){
$this->db->from(''tbl_project_programwork pp'');
$this->db->join(''tbl_projects p'', ''p.ProjectID = pp.ProjectID'', ''left'');
$this->db->join(''tbl_programwork pw'', ''pw.ProgramWorkID = pp.ProgramWorkID'', ''left'');
// $this->db->where(''pp.ProjectID = p.ProjectID'');
$this->db->where(''pp.ProgramWorkID = pw.ProgramWorkID'');
$query = $this->db->get();
return $query->result();
}
}
我尝试过的事情:
我试图将其传递给控制器中的另一个变量并将其设为私有,但它不能解决问题.在这里急需帮助.请谢谢!
What I have tried:
I have tried to pass it to another variable into the controller and made it private but it doesnt fix the problem. Badly need help here. Pls. Thank You!
推荐答案
project =
project =
this-> pmmm-> get_project(); foreach(
this->pmmm->get_project(); foreach (
项目为
这篇关于如何使用一个ajax多次将变量传递给模型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!