私はCodeIgniterプロジェクトを持っています "アップグレード"したいです:) 私はテーブルから値を(主キー)を選択して、そのレコード。現在、私は選択のためのドロップダウンメニューと同じページにデータを表示するクエリを開始するためのボタンを使用しています。複数のテキストボックスをドロップダウンから読み込む - CodeIgniter/PHP
claim_id - primary key
repair_type
type
block
condition
defect
symptom
repair
addition
マイモデル:
class Claim_m extends MY_Model
{
protected $_table_name = 'claim';
protected $_order_by = 'repair_type';
protected $_primary_key = 'claim_id';
public function __construct()
{
parent::__construct();
}
public $rules_claim = array(
'repair_type'=>array(
'field'=>'claim_id',
'label'=>'ID Claima',
'rules'=>'required'
)
);
public function daj_dropdown() //creates dropdown
{
$rezultat = $this->db->select('claim_id,repair_type')->get('claim')->result_array();
$dropdown = array();
foreach($rezultat as $r)
{
$dropdown[$r['claim_id']] = $r['repair_type'];
}
return $dropdown;
}
}
マイコントローラー:
class Claims extends Frontend_Controller
{
public function __construct()
{
parent::__construct();
$this->load->model('claim_m');
}
public function choice()
{
//validation
$rules = $this->claim_m->rules_claim;
$this->form_validation->set_rules($rules);
if($this->form_validation->run() == TRUE)
{
$claim_id = $this->input->post('claim_id');
$this->data['zapisi'] = $this->claim_m->daj($claim_id,TRUE);
}
//dropdown
$this->data['dropdown'] = $this->claim_m->daj_dropdown();
//set subview
$this->data['subview'] = 'claim/zapis';
$this->load->view('_main_layout', $this->data);
}
}
マイビュー(zapis.php):
<?php echo form_open();?>
<table class="table">
<tr>
<td>Type of repair:</td>
<td><?php echo form_dropdown('claim_id',$dropdown); ?></td>
</tr>
<tr>
<td></td>
<td><?php echo form_submit('submit', 'Izaberi', 'class="btn btn-primary"'); ?></td>
</tr>
</table>
<?php echo form_close(); ?>
<?php
if(!isset($zapisi))
{
echo 'no records';
}
else
{ ?>
<section>
<h2>Claim pattern - <u> <?php echo($zapisi->repair_type); ?> </u></h2>
<i>Defect type: </i><font color="red"><?php echo($zapisi->type); ?></font></br>
<i>Defect block: </i><font color="red"><?php echo($zapisi->block); ?></font></br>
<i>Condition code: </i><font color="red"><?php echo($zapisi->condition); ?></font></br>
<i>Defect code: </i><font color="red"><?php echo($zapisi->defect); ?></font></br>
<i>Symptom code: </i><font color="red"><?php echo($zapisi->symptom); ?></font></br>
<i>Repair code: </i><font color="red"><?php echo($zapisi->repair); ?></font></br>
<i>Other: </i></br><font color="red"><?php echo($zapisi->addition); ?></font></br>
</section>
<?php } ?>
表には、以下のフィールドがあります
このすべてはうまく動作します。しかし、私はビュー上にボタンなしで作る必要があります。基本的には、ボタンを押さなくてもドロップダウンメニューで選択が変更されると、他のすべてのフィールドを書き留める必要があります。私は1つのフィールドが必要なときにチュートリアルを見つけましたが、私は(ドロップダウンメニューの変更後)MySQLデータベーステーブル(タイプ、ブロック、状態、欠陥、症状、修理、追加)から7つのフィールドを提示する必要があります。
jQueryやAjaxについてよく分かりませんが、私はこのようなものに必要と思われます。もし誰かがこれを手伝ったり、正しいチュートリアルを教えてくれたら、私は感謝しています。 ありがとうございます!
編集:関数DAJ()MY_Model
public function daj($id = NULL, $single = FALSE)
{
if ($id != NULL)
{
$filter = $this->_primary_filter;
$id = $filter($id);
$this->db->where($this->_primary_key,$id);
$method = 'row';
}
elseif($single == TRUE)
{
$method = 'row';
}
else
{
$method = 'result';
}
$this->db->order_by($this->_order_by);
return $this->db->get($this->_table_name)->$method();
}
あなたの質問を編集し、モデルコードに 'claim_m-> daj()'を含めてもよろしいですか? – DFriend
こんにちはDFriend私はそれを追加しました。 – DigitalMandrake
あなたが知っていることは、ボタンをクリックしてフォームを送信して、更新時にデータを表示することですか?ページを過負荷にすることなくやり直したいのですか、リロードはうまくいきますか?ドロップダウンの変更をトリガーしたいだけですか? – trajchevska