ลดความซับซ้อนในการประมวลผลฝั่งเซิร์ฟเวอร์ของ datatables ของคุณได้อย่างง่ายดายโดยใช้ไลบรารี PHP ที่รวดเร็วปานสายฟ้าของเรา ซึ่งทำให้เวิร์กโฟลว์ของคุณคล่องตัวได้อย่างราบรื่น การสาธิตสด
หมายเหตุ: เวอร์ชัน 2.0+ ต้องใช้ php 7.1.3+ (เวอร์ชันที่รองรับ php)
วิธีที่แนะนำในการติดตั้งไลบรารี่คือการใช้ Composer
หากคุณยังไม่ได้เริ่มใช้ผู้แต่ง ฉันขอแนะนำให้คุณใช้มัน
วางไฟล์ชื่อ composer.json
ที่รากของโปรเจ็กต์ของคุณ โดยมีข้อมูลนี้:
{
"require": {
"ozdemir/ datatables ": "2.*"
}
}
แล้วรัน:
composer install
หรือเพียงแค่เรียกใช้:
composer require ozdemir/ datatables
เพิ่มตัวโหลดอัตโนมัติในโครงการของคุณ:
<?php
require_once ' vendor/autoload.php ' ;
ตอนนี้คุณพร้อมที่จะเริ่มใช้ไลบรารี datatables php แล้ว
<?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 ();
หากคุณใช้เฟรมเวิร์ก PHP เช่น Codeigniter หรือ laravel คุณสามารถใช้อะแดปเตอร์ฐานข้อมูลที่เกี่ยวข้องได้
// 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 ();
});
นี่คือรายการวิธีการสาธารณะที่มีอยู่
ต้องมี การสืบค้น($การสืบค้น)
สร้าง () จำเป็น
ถึงเจสัน()
ถึงอาร์เรย์()
เพิ่ม($คอลัมน์, ฟังก์ชั่น( $แถว ){})
แก้ไข($column, function($row){})
ตัวกรอง($คอลัมน์, ฟังก์ชั่น(){})
ซ่อน($คอลัมน์)
setDistinctResponseFrom($คอลัมน์)
setDistinctResponse($เอาต์พุต)
รับคอลัมน์()
รับแบบสอบถาม()
<?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()';
ผู้แต่ง
datatables > 1.10
PHP > 7.1.3
ลิขสิทธิ์ (c) 2015 Yusuf ÖZDEMİR เผยแพร่ภายใต้ใบอนุญาต MIT