2017-01-20 70 views
0

我正在做我的學校項目。我設法添加/刪除數據庫從我的數據表複選框,如果該值是檢查然後它會添加然後如果取消選中然後它將被刪除,現在我想要的是,當我去加載數據表複選框,我想檢查已經在我的數據庫中的值。例如,如果我的數據庫中已經有user_id = 102,如果我加載數據表,我希望user_id值爲102的名稱在獲取數據表複選框時將自動檢查。我該怎麼做?我正在使用codeigniter框架。加載數據表複選框,如果它已經在數據庫中,已經檢查

這是我在填充我的數據表控制器:

public function getalldocs() { 
     $listdocs = $this->Admin_model->getdoctors(); 
     $data = array(); 
     foreach ($listdocs as $docs) { 
      $row = array(); 
      $row[] = $docs->user_fname; 
      $row[] = $docs->user_mname; 
      $row[] = $docs->user_lname; 
      $row[] = '<input name="user_id[]" value="'.$docs->user_id.'" type="checkbox">'; 

      $data[] = $row; 
     } 
     $output = array( 
      "data" => $data, 
     ); 
     echo json_encode($output); 
    } 

這裏是我的AJAX/JavaScript的:

function show_docs() { 
    $("#dataTables-docs").dataTable().fnDestroy(); 

    table = $('#dataTables-docs').DataTable({ 
     "ajax": { 
       "url": "<?php echo site_url('admin_controls/getalldocs')?>", 
       "type": "POST", 
      }, 
      responsive: true, 
      className: 'select-checkbox', 
      'bInfo': false, 
      'paging': false 
     }); 
} 

,然後我把函數轉換成文檔就緒:

$(document).ready(function() { 
$('#dataTables-docs').dataTable(); 
    show_docs(); 

}); 

我想要的是當我將加載我的數據表,我想檢查所有的數據表複選框,如果我t已經在數據庫中。

+0

哪裏有用戶來自如果他們不是已經在數據庫中,當你做ajax調用?你爲什麼要砸桌子然後立即摧毀它? – Bindrid

+0

考慮你是否真的需要「刪除」它,而不是簡單地將它從視圖中隱藏起來。 – Strawberry

+0

@Strawberry它可以刪除先生,只顯示我可以刪除的課程,我想要檢查複選框,如果它已經在數據庫中。 –

回答

0

你只是比較數組。我不是PHP編碼器,所以接下來可能是一個糟糕的方法,但它演示了比較一個陣列與另一個陣列的原理。實際上,它比較具有價值作用中的數組,但迭代值可以很容易地從另一個陣列借來的......

<?php 

$my_array = array(
    0 => 1, 
    1 => 2, 
    2 => 3, 
    3 => 5, 
    4 => 7 
); 

for($i=0;$i<10;$i++){ 
echo $i; 
if(in_array($i,$my_array)){echo " yes <br>\n";} else {echo " no <br>\n";} 
} 

?> 
+0

它在執行codeigniter時有很大的不同,因爲考慮數據表 –

相關問題