Таблицы данных форматирующих ссылок на стороне сервера

У меня есть таблица с тонами записей, и мне нужны ссылки внутри таблицы, поэтому проблема заключается в форматировании...

Первая строка представляет собой ссылку имени пациента на его отдельную страницу, а последняя строка представляет собой набор ссылок для редактирования и удаления пациента.

Эта проблема:

  1. Теперь с этим кодом в первой строке не появляется имя (строка [1]), появляются фамилии (строка [2]), но ссылка в порядке (строка [0])
  2. В последнем ряду обе ссылки работают хорошо, но Thickybox не работает, ссылка открывается на новой странице.

Может ли кто-нибудь помочь мне с этим? заранее спасибо!!!:)

Серверный скрипт обработки:

$columns = array(
    array( 
            'db' => 'id', 
            'dt' => 0,
            'formatter' => function( $d, $row ) {
                $links='<a href="paciente/'.$row[0].'/0/">'.$row[1].'</a>';
                return $links;
        }),
    array( 'db' => 'apellidos',  'dt' => 1 ),
    array( 'db' => 'tel_mov',   'dt' => 2 ),
    array( 'db' => 'terapeuta',     'dt' => 3 ),
    array( 
            'db' => 'id', 
            'dt' => 4,
            'formatter' => function( $d, $row ) {
                $links2='<a href="print-historia.php?height=655&amp;width=800&amp;id='.$row[0].'&amp;pacientes=si" class=" thickbox editar txt_petit"><img src="ima/edit.png" /></a> | <a href="?borrar=total&amp;id='.$row[0].'" onClick="return confirmSubmit()" class="borrar txt_petit"><img src="ima/close.png" /></a>';
                return $links2;
        }),

);

Javascript:

$(document).ready(function() {
        $('#tablet').DataTable({
        "language": {
            "url": "https://cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/Spanish.json"},
        "scrollY":        "400px",
        "scrollCollapse": true,
        "processing": true,
        "serverSide": true,
        "ajax": "load.php"
        });
    } );

1 ответ

Я понял;)

Для проблем с именами ссылок:

Просто добавьте в первый столбец таблицы данные id и, если вам это не нужно, скройте их с опциями в javascript ("bVisible": false)

Так что теперь $row[0] - это всегда id, а $row[1] - имя...

Для проблемы с густой коробкой:

Просто добавьте "aoColumns" с параметрами после "fnDrawCallback"

    "aoColumns": [
            { "sTitle": "id","bVisible": false},
            { "sTitle": "Nombre" },
            { "sTitle": "Apellidos" },
            { "sTitle": "Móbil","bSortable": false },
            { "sTitle": "Fijo","bSortable": false },
            { "sTitle": "Terapeuta","bSortable": false },
            { "sTitle": "Edición","bSortable": false,"bSearchable": false }],
    "fnDrawCallback": function() {
            tb_init('a.thickbox');

          }

Я не знаю, является ли это лучшим способом, но работает на меня;)

Другие вопросы по тегам