Jak zmienić mój skrypt, aby dodać funkcję wywołania zwrotnego wiersza w tabelach bazy danych

Dec 04 2020

Byłbym wdzięczny za każdą pomoc w poprawianiu mojego skryptu w celu dodania funkcji wywołania zwrotnego wiersza w tabelach bazy danych.

Używając danych, chcę pokazać numer wiersza. Znalazłem kod dostarczony przez @Pehmolelu w odpowiedzi na podobne pytanie, ale jest to moja pierwsza próba z bazodanami i javascriptem. Nie wiem wystarczająco dużo o składni, aby je połączyć. Skrypt, którego aktualnie używam:

<script> type="text/javascript">
                
          $(document).ready(function(){ $('table').DataTable({          
                   searching:true, 
                   ordering:false,
                   paging:true,
    "bLengthChange": false,
                   lengthMenu:[31], 
 
                })
            });
</script>

Oto, co myślę, pokaże numer wiersza podany przez @Pehmolelu:

var index = iDisplayIndex +1;
$('td:eq(0)',nRow).html(index);
return nRow;

Wiem, że wymaga dodania:

"fnRowCallback": function( nRow, aData, iDisplayIndex )

Próbowałem również tego kodu, ale ten kod pokazuje numer wiersza dla każdego wiersza, więc jeśli jest sto wierszy, pokaże 1-100. Chcę, żeby działało z paginacją. Tak więc, jeśli ustawisz 20 wierszy na stronę, każda strona wyświetli wiersz 1–20.

$(document).ready(function() {
    var t = $('table').DataTable( {
        "columnDefs": [ {
        
            "searchable": false,
            "orderable": false,
            "targets": 0
        } ],
        "order": [[ 1, 'asc' ]]
    } );
 
    t.on( 'order.dt search.dt', function () {
        t.column(0, {search:'applied', order:'applied'}).nodes().each( function (cell, i) {
            cell.innerHTML = i+1;
        } );
    } ).draw();
} );

Wiem, że jest to bardzo proste, ale naprawdę byłbym wdzięczny za każdą pomoc. Dzięki

Odpowiedzi

Noname Dec 05 2020 at 19:53

Na wypadek, gdyby pomogło to komukolwiek innemu, a przeczytanie informacji z @Pirate tutaj działa.

<script> type="text/javascript">
                
$(document).ready(function(){ $('#table').DataTable({
                    
                   searching:true, 
                   ordering:false,
                   paging:true,
                   "bLengthChange": false,
                   lengthMenu:[31], 
                "fnRowCallback": function (nRow, aData, iDisplayIndex) {
 var index = iDisplayIndex +1;
$('td:eq(0)',nRow).html(index);
return nRow;
}   

                });
                
            });

</script>