数据表使用列中的数据

时间:2016-10-05 13:07:37

标签: datatables

我有一个带有ajax / ssi数据库连接的表。

在我的数据库的一个字段中,我存储一个数字(1 =男性0 =女性)

我做了什么,将数据库(1/0)中的给定数字更改为文本" male"或者"女性"或者通过一个图标来改变它。

我如何使用过滤器(访问者看不到值1或0)?

以下是data.php的一些代码

$columns = array(
array( 'db' => 'CONTACT_GROUP',   'dt' => 0 ),
array( 'db' => 'KD_NO',           'dt' => 1 ),
array( 'db' => 'TYPE',      'dt' => 2 ),
array( 'db' => 'ORG_NAME',  'dt' => 3 ),
array( 'db' => 'VORNAME',   'dt' => 4 ),
array( 'db' => 'NAME',      'dt' => 5 ),
array( 'db' => 'PLZ',       'dt' => 6 ),
array( 'db' => 'ORT',       'dt' => 7 )
);
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * If you just want to use the basic configuration for DataTables with PHP
* server-side, there is no need to edit below this line.
*/
require( $vz.'assets/global/plugins/datatables/ssp.class.php' );
echo json_encode(
SSP::simple( $_GET, $table, $primaryKey, $columns )
);
unset($modDB);

这个

$.fn.dataTable.pipeline = function ( opts ) {
// Configuration options
var conf = $.extend( {
    pages: 5,     // number of pages to cache
    url: '',      // script url
    data: null,   // function or object with parameters to send to the server
                  // matching how `ajax.data` works in DataTables
    method: 'GET' // Ajax HTTP method
}, opts );

// Private variables for storing the cache
var cacheLower = -1;
var cacheUpper = null;
var cacheLastRequest = null;
var cacheLastJson = null;

return function ( request, drawCallback, settings ) {
    var ajax          = false;
    var requestStart  = request.start;
    var drawStart     = request.start;
    var requestLength = request.length;
    var requestEnd    = requestStart + requestLength;

    if ( settings.clearCache ) {
        // API requested that the cache be cleared
        ajax = true;
        settings.clearCache = false;
    }
    else if ( cacheLower < 0 || requestStart < cacheLower || requestEnd > cacheUpper ) {
        // outside cached data - need to make a request
        ajax = true;
    }
    else if ( JSON.stringify( request.order )   !== JSON.stringify( cacheLastRequest.order ) ||
              JSON.stringify( request.columns ) !== JSON.stringify( cacheLastRequest.columns ) ||
              JSON.stringify( request.search )  !== JSON.stringify( cacheLastRequest.search )
    ) {
        // properties changed (ordering, columns, searching)
        ajax = true;
    }

    // Store the request for checking next time around
    cacheLastRequest = $.extend( true, {}, request );

    if ( ajax ) {
        // Need data from the server
        if ( requestStart < cacheLower ) {
            requestStart = requestStart - (requestLength*(conf.pages-1));

            if ( requestStart < 0 ) {
                requestStart = 0;
            }
        }

        cacheLower = requestStart;
        cacheUpper = requestStart + (requestLength * conf.pages);

        request.start = requestStart;
        request.length = requestLength*conf.pages;

        // Provide the same `data` options as DataTables.
        if ( $.isFunction ( conf.data ) ) {
            // As a function it is executed with the data object as an arg
            // for manipulation. If an object is returned, it is used as the
            // data object to submit
            var d = conf.data( request );
            if ( d ) {
                $.extend( request, d );
            }
        }
        else if ( $.isPlainObject( conf.data ) ) {
            // As an object, the data given extends the default
            $.extend( request, conf.data );
        }

        settings.jqXHR = $.ajax( {
            "type":     conf.method,
            "url":      conf.url,
            "data":     request,
            "dataType": "json",
            "cache":    false,
            "success":  function ( json ) {
                cacheLastJson = $.extend(true, {}, json);

                if ( cacheLower != drawStart ) {
                    json.data.splice( 0, drawStart-cacheLower );
                }
                if ( requestLength >= -1 ) {
                    json.data.splice( requestLength, json.data.length );
                }

                drawCallback( json );
            }
        } );
    }
    else {
        json = $.extend( true, {}, cacheLastJson );
        json.draw = request.draw; // Update the echo for each response
        json.data.splice( 0, requestStart-cacheLower );
        json.data.splice( requestLength, json.data.length );

        drawCallback(json);        }
}};
// Register an API method that will empty the pipelined data, forcing an Ajax
// fetch on the next draw (i.e. `table.clearPipeline().draw()`)
$.fn.dataTable.Api.register( 'clearPipeline()', function () {
return this.iterator( 'table', function ( settings ) {
    settings.clearCache = true;
} );
} );
//
// DataTables initialisation
//
$(document).ready(function() {
$('#ajax_table1').DataTable( {
    "processing": true,
    "serverSide": true,
    "ajax": $.fn.dataTable.pipeline( {
        url: 'data.php',
        pages: 5 // number of pages to cache
    } )
} );
} );

希望anyboby可以解释它 - 数据站点上的例子对我没有多大帮助。

1 个答案:

答案 0 :(得分:0)

我不知道你在哪里以及如何获取你的数据只是为了给你一个想法,你可以在你的php文件中做到:

[LocalizedCategory("Limits", typeof(Api.Properties.Resources))]
[LocalizedDisplayName("Maximum", typeof(Api.Properties.Resources))]
[LocalizedDescription("Maximum", typeof(Api.Properties.Resources))]
[Editor(typeof(TextConversionTypeEditor), typeof(UITypeEditor))]
public int CriticalMaximum
{
    get; set;
}

然后将$ gender传递给您的专栏