dongmei8209 2016-10-20 06:57
浏览 64

如何将数据加载到已加载的视图?

I have a little project, where i use codeigniter, jquery and bootstrap.

I have "Startsite" where the user have to say:

Option 1: Edit project

Option 2: Create project

I think it is useful to show my Controller as first:

In the construct method i load all models, in the index i load data to all dropdowns in my "startsite", in saveProject i save my created project and the method i have a issue is editProject. Look here:

class projekt extends CI_Controller {

public function __construct()
{
    parent::__construct();
    $this->load->helper('html');
    $this->load->helper('url');
    $this->load->helper('form');
    $this->load->model('projektklassen_model'); 
    $this->load->model('kundengruppen_model');
    $this->load->model('produktgruppen_model'); 
    $this->load->model('ablehnungsgrund_model'); 
    $this->load->model('absatzregion_model'); 
    $this->load->model('anfragetyp_model'); 
    $this->load->model('businessunit_model'); 
    $this->load->model('endkundeOEM_model'); 
    $this->load->model('lieferanten_model'); 
    $this->load->model('prozentverteilungEOP_model'); 
    $this->load->model('prozentverteilungSOP_model');
    $this->load->model('realisierungsstatus_model');  
    $this->load->model('gsmbereich_model');
    $this->load->model('firma_model');
    $this->load->model('projekt_model');
}

public function index()
{           
    $data['projektklassen'] = $this->projektklassen_model->getProjektklassen();
    $data['kundengruppen'] = $this->kundengruppen_model->getKundengruppen();
    $data['produktgruppen'] = $this->produktgruppen_model->getProduktgruppen();
    $data['ablehnungsgruende'] = $this->ablehnungsgrund_model->getAblehnungsgruende();
    $data['absatzregionen'] = $this->absatzregion_model->getAbsatzregionen();
    $data['anfragetypen'] = $this->anfragetyp_model->getAnfragetypen();
    $data['businessunits'] = $this->businessunit_model->getBusinessunits();
    $data['endkundenOEM'] = $this->endkundeOEM_model->getEndkundenOEM();
    $data['lieferanten'] = $this->lieferanten_model->getLieferanten();
    $data['prozentverteilungenEOP'] = $this->prozentverteilungEOP_model->getProzentverteilungenEOP();
    $data['prozentverteilungenSOP'] = $this->prozentverteilungSOP_model->getProzentverteilungenSOP();
    $data['realisierungsstati'] = $this->realisierungsstatus_model->getRealisierungsstatus();
    $data['gsmbereiche'] = $this->gsmbereich_model->getGSMBereiche();
    $data['firmen'] = $this->firma_model->getFirmen();
    $data['projekte'] = $this->projekt_model->getProjekte();
    $data['preFormVisible'] = true;
    $this->load->view('project2', $data);       
}

function saveProjekt(){      
    if($this->input->post('btGenerate')){
        $pdm = $this->projekt_model->getPDM();
        $this->projekt_model->addprojekt($pdm);                
    }
    redirect('projekt');        
}

function editProjekt(){      
    if($this->input->post('btladeProjekt')){
        $data['proDetails'] = $this->projekt_model->editprojekt();  
        $data['preFormVisible'] = false;
        $this->load->view('project2', $data);           
    }
    redirect('projekt');        
}   }

What should happend? The user choose on the "startsite" to edit an project. He select a project in a dropdown and click an button. Here the form from the startsite:

<?php echo form_open('projekt/editProjekt', array('name' => 'preform')); ?>
    <div class="col-sm-6 col-md-6 col-lg-6">
        <label for='projekt'>Projekt</label>
        <?php echo form_dropdown('projekt', $projekte, '', 'class="form-control" id="projekt"'); ?>
    </div>
    <div class="col-sm-6 col-md-4 col-lg-3">
        <button type="submit" id="btladeProjekt" name="btladeProjekt" value="btladeProjekt" class="btn btn-primary headbutton"><i class="glyphicon glyphicon-pencil"></i> Projekt bearbeiten </button>
    </div>
<?php echo form_close(); ?>

Now the controller method editProject calls a method in the model. I show you:

function editprojekt() {
    $serverName = "de-sal-v-sql011"; 
    $connectionInfo = array( "Database"=>"NB_Roll_Plan", "UID"=>"s-global_it-bit002", "PWD"=>"\$Ev1danzA\$"); 
    $conn = sqlsrv_connect( $serverName, $connectionInfo);

    $projektID = $this->input->post('projekt');

    $data = array();
    $tsql = "SELECT ProjektID, Projektname, KDGR, Kundenname, ProduktgruppeID, Projektklasse, MABVertrieb, GSMBereich, Ansprechpartner_kunde,ProjektanfrageNR_kunde, 
        Anfragedatum, Abgabedatum_angebot, PDM, übergeordnetePDM, Kommentar, Projektrisiken from Projekt WHERE ProjektID = ? ORDER BY Projektname ASC";  
    $var = array($projektID);

    $query = sqlsrv_query($conn, $tsql, $var);
    if($query != false){
        while( $row = sqlsrv_fetch_array( $query, SQLSRV_FETCH_ASSOC) ) {
            $data['ProjektID'] = $row['ProjektID'];
            $data['Projektname'] = $row['Projektname'];
            $data['KDGR'] = $row['KDGR'];
            $data['Kundenname'] = $row['Kundenname'];
            $data['ProduktgruppeID'] = $row['ProduktgruppeID'];
            $data['Projektklasse'] = $row['Projektklasse'];
            $data['MABVertrieb'] = $row['MABVertrieb'];
            $data['GSMBereich'] = $row['GSMBereich'];
            $data['Ansprechpartner_kunde'] = $row['Ansprechpartner_kunde'];
            $data['ProjektanfrageNR_kunde'] = $row['ProjektanfrageNR_kunde'];
            $data['Anfragedatum'] = $row['Anfragedatum'];
            $data['Abgabedatum_angebot'] = $row['Abgabedatum_angebot'];
            $data['PDM'] = $row['PDM'];
            $data['übergeordnetePDM'] = $row['übergeordnetePDM'];
            $data['Kommentar'] = $row['Kommentar'];
            $data['Projektrisiken'] = $row['Projektrisiken'];               
        }
        sqlsrv_free_stmt($query);       
    }else{
        die( print_r( sqlsrv_errors(), true));
    }   
    return $data;       
}

Now i want to display the returned data in the view, but when i try this nothing happens.

<?php
                            if(isset($proDetails)){
                                echo "test";
                                echo "<input type='text' class='form-control' id='proname' name='proname' value='".$proDetails->ProjektID."'/>";
                            }else{
                                echo "<input type='text' class='form-control' id='proname' name='proname'>";
                            }
                        ?>

What did i miss? Thx in advance

</div>
  • 写回答

3条回答 默认 最新

  • douqiao5552 2016-10-20 07:46
    关注

    Alright I think I have understand what is you required @JamesnxD. You can load the all the drop down in a view and the edit form in another view do like this

    $this->load->view('front/dropdown');
    $this->load->view('front/editform',$data);
    $this->load->view('front/front_footer');
    
    评论

报告相同问题?

悬赏问题

  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错