2016-02-29 71 views
0

我已經創建了純PHP中真正起作用的下拉,我希望它也適用於我的笨項目,但我不知道怎麼辦。我試過但代碼不起作用。這是純PHP轉換爲笨: 主要頁面:轉換純PHP代碼笨

<select id="operationName" name="operationName"> 
<option value="">-SELECT-</option> 
<?php while($rs = $query->fetch()) 
{ 
extract($rs); 
?> 
<option value="<?php echo $OperationName;?>"><?php echo $OperationName;?> </option> 
<?php 
} 
?> 
</select> 
<input type="text" id="deldays" name="deldays" > 
<div id="deldays"></div> 


<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

<script> 
$(document).ready(function(){ 
$('#operationName').change(function(){ 
    $.get('trial.php',{q:$(this).val()},function(data){ 
     $('#deldays').val(data); 
    }); 
}); 
}); 

這裏是正在調用PHP函數:

if(isset($_GET['q'])) 
{ 
$days = $_GET['q']; 
try{ 
$qry = $conn->prepare("SELECT * FROM operation WHERE OperationName = :opt"); 
$qry->bindParam(':opt',$days); 
$qry->execute(); 
} 
catch(PDOException $e) 
{ 
echo $e->getMessage(); 
exit(); 
} 
while($rs = $qry->fetch()) 
{ 
extract($rs); 
echo $DeliveryDays; 
} 
} 
+1

[自學如何使用笨](http://www.codeigniter.com/user_guide/)。 –

+0

我已經知道笨的基本和我的rpoblem是,我不能以某種方式實現此代碼給它。我有從控制器返回阿賈克斯..... – SilverRay

+0

值什麼具體的問題是什麼問題? – deltab

回答

2

首先,你必須知道MVC的概念,這笨使用

M是模型(文件夾應用程序/模型)=對數據庫的操作

V是圖(文件夾應用程序/視圖)=視圖,HT毫升,CSS,腳本等

C被控制器(文件夾應用程序/控制器)=頁面處理器

此以下網頁,其中有該查詢,更好,如果插入模型

將它保存在文件夾應用/型號,名稱爲m_operation.php

<?php 
class Operation extends CI_Model { 
    //table name 
    private $operation = 'operation'; 
    function Operation() { 
     parent::__construct(); 
     $this->load->helper('file'); 
    } 
    function allOperation($days) { 
     $this->db->where('OperationName', $days); 
     return $this->db->get($operation)->result();     
    } 
} 
?> 

這下頁是視圖,其保存在文件夾應用程序/視圖,名稱v_operation.php

<select id="operationName" name="operationName"> 
<option value="">-SELECT-</option> 
<?php 
foreach ($operation as $row) { 
    echo "<option value = '". $row->OperationName ."'>". 
      $row->OperationName . 
     "</option>"; 
} 
?> 
</select> 


<input type="text" id="deldays" name="deldays" > 
<div id="deldays"></div> 


<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

<script> 
$(document).ready(function(){ 
$('#operationName').change(function(){ 
    $.get('trial.php',{q:$(this).val()},function(data){ 
     $('#deldays').val(data); 
    }); 
}); 
}); 

這下頁是控制器,它保存在文件夾應用程序/控制器,具有名字operation.php

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class Operation extends CI_Controller { 
    function __construct() { 
     parent::__construct(); 
     $this->load->helper('url');// Load Helper URL CI 
     $this->load->model('m_operation');// load the model 
    } 

    public function index() { 
     if(isset($this->input->get('q'))) { 
      $days = $this->input->get('q'); 
      $data['operation'] = $this->m_operation->allOperation($days);  
      $this->load->view('v_operation', $data); 
     } 
    } 
} 

您可以用控制器的名稱訪問的網頁,這樣

yoursitename.com /index.php/operation

+0

謝謝,我會嘗試你的答案有點糊塗了..... – SilverRay

+0

我在你發佈的型號有點糊塗了......這是我從如何寫我的查詢不同.... – SilverRay

+0

我如何使用這個代碼礦http://stackoverflow.com/questions/32607483/display -result-at-same-page-as-form-in-codeigniter-undefined-variable?。 – SilverRay

0

我發現了一個炒鍋周圍我的問題,請檢查以供將來參考代碼:

控制器:

$operation = explode(',',$this->input->post('operationName')); 
     foreach($operation as $val) 
     { 
      $opName = trim($operation[0]); 
      $days = trim($operation[1]); 
     } 

模型:

function get_operation() 
{ 
    $this->db->select('*'); 
    $this->db->from('operation'); 
    $query = $this->db->get(); 
    $result = $query->result_array(); 

    return $result; 
} 

視圖:

<select class="form-control" id="operationName" name="operationName" > 
     <option value="">-SELECT-</option> 
     <?php 
     foreach($operation as $val) 
     { 
      ?> 
      <option value="<?php echo $val['OperationName'].','.$val['DeliveryDays'];?>"><?php echo $val['OperationName'];?></option> 
      <?php 
     } 
     ?> 
     </select>