私のコントローラーはデータベースモデルからデータを取得し、それらをビューに送信します。ビューでは、各エンティティに div を描画するために foreach ループを実行します。すべての単一の div には、そのエンティティを評価するためのフォーム要素があります。
コントローラ:
function index(){
$data['main_content'] = 'list';
$data['entities'] = $this->database_model->getEntities();
$this->load->view('template', $data);
}
function postRate(){
$rate = array(
'entity_id' => $this->input->post('entity_id'),
'owner_id' => $this->input->post('owner_id'),
'value' => $this->input->post('value')
);
$this->database_model->persistRate($rate);
$this->index();
}
モデル:
function getEntities(){
return $this->db->get('entity')->result();
}
function persistRate($rate){
return $this->db->insert('rate', $rate);
}
意見:
<?php foreach($entities as $entity) : ?>
<div class="entity">
<?php echo form_open('entities/postRate/', $attr); ?>
<?php echo form_hidden('entity_id', $entity->id); ?>
<?php echo form_hidden('owner_id', $userid); ?>
<?php echo form_hidden('value', 1); ?>
<?php echo form_submit('submit', '+1'); ?>
<?php echo form_close(); ?>
</div>
<?php endforeach; ?>
この場合、評価後にページ全体がリロードされますが、フォームが送信された div のみを更新したいと考えています。私はjavascriptまたはjQueryがそれを行うことができることを知っています.. UPDATE ..しかし、私はそれらのロジックを知りません.実際のエンティティの正確なdivまたは正確な(更新された)データをどうやって知るのでしょうか? データベースから取得しますか?私はjs/jquery/ajaxと混同しています。