Vereinfachen Sie die serverseitige Verarbeitung Ihrer datatables mühelos mit unserer blitzschnellen PHP-Bibliothek und optimieren Sie so Ihren Workflow nahtlos. Live-Demo
HINWEIS: Version 2.0+ erfordert PHP 7.1.3+ (von PHP unterstützte Versionen)
Die empfohlene Methode zur Installation der Bibliothek ist Composer
Wenn Sie Composer noch nicht verwenden, empfehle ich Ihnen dringend, es zu verwenden.
Legen Sie im Stammverzeichnis Ihres Projekts eine Datei mit dem Namen composer.json
ab, die diese Informationen enthält:
{
"require": {
"ozdemir/ datatables ": "2.*"
}
}
Und dann ausführen:
composer install
Oder führen Sie einfach aus:
composer require ozdemir/ datatables
Fügen Sie den Autoloader zu Ihrem Projekt hinzu:
<?php
require_once ' vendor/autoload.php ' ;
Sie können jetzt mit der Verwendung der PHP-Bibliothek datatables beginnen.
<?php
require_once ' vendor/autoload.php ' ;
use Ozdemir datatables datatables ;
use Ozdemir datatables DB MySQL ;
$ config = [ ' host ' => ' localhost ' ,
' port ' => ' 3306 ' ,
' username ' => ' homestead ' ,
' password ' => ' secret ' ,
' database ' => ' sakila ' ];
$ dt = new datatables ( new MySQL ( $ config ) );
$ dt -> query ( ' Select film_id, title, description from film ' );
echo $ dt -> generate ();
Wenn Sie ein PHP-Framework wie Codeigniter oder Laravel verwenden, können Sie den entsprechenden Datenbankadapter verwenden.
// Codeigniter 4 Example
<?php
namespace App Controllers ;
use Config Database ;
use Ozdemir datatables datatables ;
use Ozdemir datatables DB Codeigniter4Adapter ;
class Home extends BaseController
{
public function index ()
{
return view ( ' index ' );
}
public function ajax ()
{
// CI 4 builder class
$ db = Database:: connect ();
$ builder = $ db -> table ( ' Track ' );
$ builder -> select ( ' TrackId, Name, UnitPrice ' );
// datatables Php Library
$ datatables = new datatables ( new Codeigniter4Adapter );
// using CI4 Builder
$ datatables -> query ( $ builder );
// alternatively plain sql
// $ datatables ->query('Select TrackId, Name, UnitPrice from Track');
return $ this -> response -> setJSON ( $ datatables -> generate ()-> toJson ());
}
}
// Laravel Example
<?php
// routes/web.php
use Ozdemir datatables datatables ;
use Ozdemir datatables DB LaravelAdapter ;
Route:: get ( ' /ajax/laravel ' , function () {
$ dt = new datatables ( new LaravelAdapter );
$ dt -> query (
Track:: query ()
-> select ([
' TrackId ' ,
' Track.Name ' ,
' Title as Album ' ,
' MediaType.Name as MediaType ' ,
' UnitPrice ' ,
' Milliseconds ' ,
' Bytes ' ,
])
-> join ( ' Album ' , ' Album.AlbumId ' , ' Track.AlbumId ' )
-> join ( ' MediaType ' , ' MediaType.MediaTypeId ' , ' Track.MediaTypeId ' )
); // same as the previous example, sql statement can be used.
return $ dt -> generate ();
});
Dies ist die Liste der verfügbaren öffentlichen Methoden.
query($query) erforderlich
generic() erforderlich
toJson()
toArray()
add($column, function( $row ){})
edit($column, function($row){})
filter($column, function(){})
verstecken($columns)
setDistinctResponseFrom($column)
setDistinctResponse($output)
getColumns()
getQuery()
<?php
require_once ' vendor/autoload.php ' ;
use Ozdemir datatables datatables ;
use Ozdemir datatables DB SQLite ;
$ path = __DIR__ . ' /../path/to/database.db ' ;
$ dt = new datatables ( new SQLite ( $ path ) );
$ dt -> query ( ' Select id, name, email, age, address, plevel from users ' );
$ dt -> edit ( ' id ' , function ( $ data ){
// return a link.
return " <a href='user.php?id= " . $ data [ ' id ' ] . " '>edit</a> " ;
});
$ dt -> edit ( ' email ' , function ( $ data ){
// masks email : [email protected] => m***@mail.com
return preg_replace ( ' /(?<=.).(?=.*@)/u ' , ' * ' , $ data [ ' email ' ]);
});
$ dt -> edit ( ' address ' , function ( $ data ){
// checks user access.
$ current_user_plevel = 4 ;
if ( $ current_user_plevel > 2 && $ current_user_plevel > $ data [ ' plevel ' ]) {
return $ data [ ' address ' ];
}
return ' you are not authorized to view this column ' ;
});
$ dt -> hide ( ' plevel ' ); // hides 'plevel' column from the output
$ dt -> add ( ' action ' , function ( $ data ){
// returns a link in a new column
return " <a href='user.php?id= " . $ data [ ' id ' ] . " '>edit</a> " ;
});
$ dt -> filter ( ' age ' , function (){
// applies custom filtering.
return $ this -> between ( 15 , 30 );
});
echo $ dt -> generate ()-> toJson (); // same as 'echo $dt->generate()';
Komponist
datatables > 1.10
PHP > 7.1.3
Copyright (c) 2015 Yusuf ÖZDEMİR, veröffentlicht unter der MIT-Lizenz