如何使用一个ajax多次将变量传递给模型 [英] How to pass variable to the model multiple times using one ajax

查看:134
本文介绍了如何使用一个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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆