Обрабатываемая данными работа с данными в столбце

#datatables

#таблицы данных

Вопрос:

у меня есть таблица с подключением к базе данных ajax / ssi.

В одном поле моей базы данных я храню число (1 = мужской 0 = женский)

Что я должен сделать, чтобы изменить заданный номер из базы данных (1/0) на текст «мужской» или «женский» или изменить его с помощью значка.

И как я могу использовать для этого фильтр (посетитель не видит значение 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
    } )
} );
} );
  

Надеюсь, кто-нибудь сможет это объяснить — примеры на сайте datatable мне в этом не помогут.

Ответ №1:

Я не знаю, где и как вы извлекаете свои данные, но просто чтобы дать вам представление, в вашем php-файле вы могли бы сделать:

 $gender = ($your_var==1) ? 'Male' : 'Female';
  

Затем просто передайте $gender в свой столбец

Комментарии:

1. я добавил полный код php-файла, так как я могу изменить значения из базы данных в этом файле?

2. На данный момент я не вижу ни php одного файла. Это должен быть файл, который вы используете для извлечения данных из вашей базы данных

3. Хорошо 🙂 Мне интересно, откуда вы это получаете : 'dt' => 1 . Откуда берется число 1.

4. Я вижу, вы получаете данные из data.php и этого файла, который я хотел бы увидеть. Потому что предлагаемый код должен быть применен там.

5. смотрите сверху — код находится в разделе «из data.php » … вот и все