دریافت خروجی DataTables با PHP و Mysql

  • آپدیت شده در تاریخ

دریافت خروجی DataTables با PHP و Mysql

DataTables یک کتاخانه با ویژگی های جستجو, مرتب سازی, صفحه بندی و دریافت خروجی DataTables از داده ها است. همچنین, یک رابط کاربری جدول مانند قوی برای کنترل روی تمام بخش های مدیریتی و پردازشی داده می دهد.

در آموزش های قبلی, نحوه استفاده از داده های کتابخانه DataTables برای نمایش ریسپانسیو DataTables دیدم. در این آموزش php , قصد داریم به شما نحوه export یا دریافت خروجی DataTables با PHP برای بکاپ داده ها را به شما نشان بدیم

امکان دریافت بکاپ از هر داده منبعی مثل دیتابیس یا فایل, یک قابلیت حیاطی برای هر اپلیکیشنی است. قبلا نحوه بکاپ گرفتن از دیتابیس را به همراه کد دیدیم.

این داده های بکاپ در چند جا بنابر نیاز قابل استفاده خواهد بود. برای مثال, اگر به طور اتفاقی داده های خود را به دلیل کرک یا هک از دست بدید, فایل پشتیبان را نیاز خواهد داشت

برای همین در این مثال, ما به کاربر (مدیریت) اجازه دریافت خروجی DataTables را در سه فرمت مختلف (اکسل, PDF, CSV) می دهیم. همچنین یک گزینه برای کپی داده های جدول به clipboard (حافظه موقت کپی) در اختیار کاربر قرار می دهیم.

 

نمایش داده های جدول DataTables

این کد صفحه نمایش DataTables به همراه قابلیت export را نشان می دهد.

جدول HTML ما به یک DataTable توسط نتایج دیتابیس تبدیل می شود. این جدول بطور یکتا دارای یک id برای استفاده به عنوان سلکتور هنگام مقداردهی اولیه DataTable است.

اسکریپت jQuery زیر کتابخانه DataTable را مقداردهی و استارت می زند. در اینجا, آپشن و دکمه های مورد نیاز دریافت خروجی DataTables مشخص شده است.

نکته: عملیات Export فقط رکورد های قابل نمایش در DataTables را بکاپ می گیرد. بنابراین, نیاز است تمام منو را انتخاب کنیم تا از کل داده ها خروجی گرفته شود.

اسکریپت دیتابیس

کد SQL زیر شامل دستور CREATE و داده های مورد نیاز جدول tbl_employee است. با ایمپورت این اسکریپت در دیتابیس, می توانید داده های را در DataTables لود کنید.

کد PHP لود سمت سرور داده های DataTables

من از پردازش سمت سرور (server-side) برای بارگذاری سطرهای دیتابیس داخل DataTables استفاده کردم. در آموزش قبلی نحوه پردازش سمت سرور DataTables را برای لود داینامیک داده ها را دیدید.

فایل server.php برای دریافت نتایج دیتابیس با دسترسی به کلاس SSP در DataTables استفاده شده است.

در این فایل, متد simple کلاس SSP را برای ارسال تنظیمات دیتابیس, متد درخواست و پارامترهای دیگر فراخوانی کردیم.

خروجی مثال – دریافت خروجی DataTables با PHP و Mysql

اسکرین شات زیر به شما دکمه های دریافت خروحی در بالای DataTables را نشان می دهد. با کلیک روی دکمه های می توانید از جدول با یک فرمت موردنیاز خروجی بگیرید.

دریافت خروجی DataTables با PHP و Mysql

امیدوارم از آموزش دریافت خروجی DataTables با PHP و Mysql استفاده مفید را برده باشید.

برای دانلود سورس کد از باکس دانلود زیر استفاده کنید.

هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .

موفق و پیروز باشید.

حسن شفیعی توسعه دهنده وب و موبایل مدیر سایت علاقه خاصی به برنامه نویسی وب و موبایل دارم و هر روز تلاش می کنم به این حوزه مسلط تر شوم و اطلاعاتم را به شکل کاربردی برای علاقه مندان در وب به اشتراک بگذارم. اگر نیاز به برنامه نویس برای انجام پروژه و نوشتن اسکریپت های سمت وب, اپلیکیشن های اندروید و ios, پیدا کردن راه حل توسعه و غیره داشتید حتما از طریق تماس با ما/ واتساپ/ تلگرام بهم پیام بدید. برایتهیه هاست مطمین و پرسرعت کلیک کنید
مطالب زیر را حتما بخوانید
دیدگاه کاربران (۴)

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

  1. محمدحسین ۴ خرداد ۱۳۹۸

    مشکلش اینه متن فارسی رو به صورت علامت سوال نشون میده؟چجوری باید رفعش کرد؟

    پاسخ
    1. حسن شفیعی ۴ خرداد ۱۳۹۸

      سلام. حتما کویری و کدهای خواندن داده ها از دیتابیس utf8 نیست چرا که به وفور از این پلاگین در پروژه ها استفاده کردیم و مشکلی برای نمایش مقادیر فارسی ندارد.
      موفق باشید.

      پاسخ
      1. محمدحسین ۵ خرداد ۱۳۹۸

        دیتابیس رو براساس utf8 genral ci ساختم اما تو کد پی اچ پی میگن از این استفاده کنم mysqli_query($dbname,”SET NAMES UTF8″);

        از این مورد استفاده میکنم ارور زیر رو دارم

        DataTables warning: table id=employeeTable – Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1

        پاسخ
      2. حسن شفیعی ۵ خرداد ۱۳۹۸

        این خطی که اضافه می کنید باعث ایجاد یک کویری جدید میشه که داده های برگشتی آن توسط پلاگین خوانده نخواهد شد و ارور بالا رو دریافت می کنید
        به جای آن, میتونید از این هم $mysqli->set_charset(“utf8”); استفاده و تست کنید شاید نتیجه داد.
        اگر اوکی نبود به جای mysqli از pdo بصورت زیر بهره ببرید :
        $db = db = new PDO(“mysql:host=localhost;dbname=$dbname”,$username,$password,array(PDO::MYSQL_ATTR_INIT_COMMAND => “SET NAMES utf8”));
        موفق باشید.

        پاسخ
دوره های آموزشی