我控制器從數據庫中獲得模型上傳數據,向他們查看。鑑於我做foreach循環來繪製div到每個實體。每個div都有一個表單元素來評估它的實體。笨 - 刷新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 ..但我不知道他們的邏輯,他們怎麼會知道確切的股利或實際實體的確切(更新)數據?我可以從數據庫中得到它嗎?我只是與js/jquery/ajax混淆。
查找到AJAX。無論您是否使用CodeIgniter都沒關係,它確實與此無關。 – Styxxy
這裏的邏輯是下一個,在視圖上提交後,控制器調用模型並返回後,調用index方法再次獲取數據並重新加載頁面。對?我明白了,但是ajax的邏輯是什麼?我看不到或者我不知道。 – Victor