2012-06-15 43 views
0

我爲我的php腳本使用了datatables插件。我有一個8列的表。通過使用數據,我可以通過單擊表列的標題來排序記錄。現在我想限制這個排序功能只有6列,其中一列顯示覆選框,另一列顯示圖像。所以不需要對這兩列進行排序。 ?我怎麼能限制此兩個欄我的代碼是這樣的:在php中的datatables標題列問題

<script type="text/javascript"> 
$(document).ready(function(){ 
    $('#example').dataTable({ 
    "bProcessing": true, 
    "sAjaxSource": "datatable-managedealdb.php", 
    "bJQueryUI": true, 
    "sPaginationType": "full_numbers", 
    "oLanguage": { 
     "sSearch": "Search :" 
    } 

    });}); 

</script> 
<table class="form_table display dataTable" id="example" cellpadding="0" cellspacing="0"> 
    <thead> 
    <?php $i = 1; ?> 
    <tr > 
    <th id="blankSpace">&nbsp;</th> 
    <th class="sorting_asc">Deal No.</th> 
    <th >Name</th> 
    <th >Deals Description</th> 
    <th >Start Date</th> 
    <th >End Date</th> 
    <th align="left">No. of Clicks</th> 
    <th >Image</th> 
    <th >Status</th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr> 
    <td colspan="9" class="dataTables_empty">Loading data from server</td> 
    </tr> 
    </tbody> 
</table> 

,並在數據表中,managedealdb.php文件:

... 
while ($aRow = mysql_fetch_array($rResult)) 
{ 
    $deal_img = ($aRow['deal_thumb_img'] == '')?'no-pic.jpg':$_SESSION['busername'].'/'.$aRow['deal_thumb_img']; 
    $row = array(); 
    $row[] = "<input type='radio' name='deal_check' id='smallBtn' value='".$aRow['deal_id']."' />"; 
    if($aRow['deal_no'] != ''){ 

    $row[] =$aRow['deal_no']; 
    } 
    if($aRow['deal_name'] != ''){ 
    $row[] = $aRow['deal_name']; 
    } 

    if($aRow['deal_desc'] != ''){ 
    $row[] = (strlen($aRow['deal_desc'])>100)?substr(wordwrap($aRow['deal_desc'],80,"<br />\n",TRUE),0,100)."...":wordwrap($aRow['deal_desc'],80,"<br />\n",TRUE); 
    } 
    if($aRow['start_deal_date'] != ''){ 
    $row[] = format_date(substr($aRow['start_deal_date'],0,10)); 
    } 
    if($aRow['end_deal_date'] != ''){ 
    $row[] = format_date(substr($aRow['end_deal_date'],0,10)); 
    } 
    if($aRow['deal_no_of_clicks'] != ''){ 
    $row[] = $aRow['deal_no_of_clicks']; 
    } 
    if($aRow['deal_thumb_img'] != ''){ 
    //$row[] = ($aRow['payment_status'] == 1)?"Paid":"Due"; 
    $row[] = "<img src='".DEAL_UPLOADING_PATH.$_SESSION['busername'].'/'.$aRow['deal_thumb_img']."' width='25' height='25' border='0' />"; 
    } 
    else if($aRow['deal_thumb_img'] == ''){ 
    $row[] = "<img src='".DEAL_UPLOADING_PATH."no-pic.jpg' width='25' height='25' border='0' />"; 
    } 

    if($aRow['deal_status'] == '0'){ 
    $row[] = '<img src="img/flag1.png" border="0" title="Disable"/>'; 
    } 
    else if($aRow['deal_status'] == '1'){ 
    $row[] = '<img src="img/flag.png" border="0" title="Enable"/>'; 
    } 


    $output['aaData'][] = $row; 
} 
... 

請幫助我。

+0

你認不認識缺失的'});'在JavaScript,關閉了jQuery類? –

+0

對不起,我錯過了「});」這裏只有。它是在我的原始代碼。 – Bappa

回答

0

有一個設置bSortable
所以,你可以與嘗試:

$('#example').dataTable({ 
    "bProcessing": true, 
    "sAjaxSource": "datatable-managedealdb.php", 
    "bJQueryUI": true, 
    "sPaginationType": "full_numbers", 
    "oLanguage": { 
    "sSearch": "Search :" 
    }, 
    "aoColumnDefs": [{ "bSortable": false, "aTargets": [7, 8] }] 
    /* 
    alternatively null for all first 6 columns, the other 2 are set to disabled: 

    "aoColumns": [ 
    null, null, null, null, null, null, 
    { "bSortable": false }, 
    { "bSortable": false }, 
    ] 
    */ 
});