قم بتبسيط معالجة 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 ();
});
هذه هي قائمة الطرق العامة المتاحة.
الاستعلام(استعلام $) مطلوب
توليد () مطلوب
toJson()
toArray()
إضافة(عمود $، وظيفة(صف $ ){})
تحرير(عمود $، وظيفة(صف $){})
مرشح (عمود $، وظيفة () {})
إخفاء(أعمدة $)
setDistinctResponseFrom($column)
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
بي إتش بي > 7.1.3
حقوق الطبع والنشر (ج) 2015 ليوسف أوزدمير، صدر بموجب ترخيص معهد ماساتشوستس للتكنولوجيا