2017-07-27 85 views
1

我在MySQL數據庫有POST_ID,post_number,post_like笨更新特定值

我使用MVC的笨從MySQL表獲取所有數據,並在頁面上顯示它的表(此部分已經完成)

我需要添加一個按鈕,每個POST_ID,增加+1至post_like在mysql表,對應於POST_ID。

所以,如果我點擊了+1按鈕POST_ID 7,post_like應該只增加POST_ID 7

這裏是我到目前爲止!

view_page.php

 <?php foreach($members as $value): ?> 
     <tr> 
      <td><?php echo $value['post_id']; ?></td> 
      <td><?php echo $value['post_like']; ?></td> 
      <td> <a href="plusone/<?php echo $value['post_id']; ?>">Add +1</a></td> 
     </tr> 
     <?php endforeach; ?> 

controller_page.php

<?php 


    function plusone($post_id){ 

     $this->load->model('model_page'); 
     $this->model_page->data_addition($post_id); 
     redirect('controller_page/viewdata'); 

    } 

    ?> 

Model_page.php

 <?php 

    function data_addition($post_id){ 

     //trying to add 1 the post_like and update it in the db 
     $add_one_to_data = $post_like+ 1; 

     $data = array(
      'post_like' => $add_one_to_data +1 
     ); 

     $this->db->where('post_id', $post_id); 
     $this->db->update('post_tbl', $data); 

    } 

    ?> 

請不要「T嘲笑我的陣列在上面添加的$ add_one_to_data,我不知道自己還能做些什麼

在此先感謝

回答

1

,你需要首先得到ifno像:

function data_addition($post_id){ 
     $post_like = $this->db->get_where('post_tbl', array('post_id' => $post_id))->row(); 

     //trying to add 1 the post_like and update it in the db 
     $add_one_to_data = (int) $post_like->post_like + 1; 

     $data = array(
      'post_like' => $add_one_to_data +1 
     ); 

     $this->db->where('post_id', $post_id); 
     $this->db->update('post_tbl', $data); 

    } 
+0

非常感謝您的幫助。我意識到不需要數組中的第二個$ add_one_to_data +1,因爲它已經在上面完成:) – mark

1

更換您的data_addition功能

function data_addition($post_id){ 
    $this->db->set('post_like', 'post_like+1', FALSE); 
    $this->db->where('post_id', $post_id); 
    $this->db->update('post_tbl'); 
} 
+0

非常感謝,非常乾淨 – mark

+0

如果它有幫助,請投票 –

+0

好的和有效的解決方案。我將發佈相同的解決方案。 1up從我身邊。 –