{"id":28345,"date":"2021-05-24T13:29:00","date_gmt":"2021-05-24T10:29:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28345"},"modified":"2021-10-18T03:42:27","modified_gmt":"2021-10-18T00:42:27","slug":"jak-uzywac-datatable-w-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pl\/jak-uzywac-datatable-w-php\/","title":{"rendered":"Jak u\u017cywa\u0107 DataTable w PHP"},"content":{"rendered":"<p>Chcesz zintegrowa\u0107 DataTable w swojej aplikacji? DataTable dodaje zaawansowane kontrolki interakcji do tabel HTML. Dodatkowo jest to oprogramowanie typu open source, wi\u0119c ka\u017cdy mo\u017ce z niego korzysta\u0107 za darmo. Jest to przydatne, gdy Twoja tabela zawiera setki wpis\u00f3w. Korzystaj\u0105c z DataTable, uzyskasz ich wbudowane funkcje, takie jak sortowanie, wyszukiwanie, stronicowanie itp. W tym artykule poka\u017c\u0119 Ci, jak u\u017cywa\u0107 DataTable w PHP.<\/p>\n<p><a href=\"https:\/\/datatables.net\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">DataTables<\/a> to popularny wyb\u00f3r do wy\u015bwietlania tabelarycznych rekord\u00f3w w aplikacji. Ze wzgl\u0119du na prostot\u0119 i \u0142atw\u0105 instalacj\u0119 programi\u015bci woleli z niego korzysta\u0107.<\/p>\n<p>Na potrzeby naszego samouczka stworz\u0119 tabel\u0119 w bazie danych i wy\u015bwietl\u0119 jej rekordy w DataTable. Ostateczny wynik b\u0119dzie wygl\u0105da\u0142 jak na poni\u017cszym zrzucie ekranu:<\/p>\n<h3>Pierwsze kroki<\/h3>\n<p>Aby rozpocz\u0105\u0107, przejd\u017a do swojego phpMyAdmina i utw\u00f3rz tabel\u0119 za pomoc\u0105 poni\u017cszego zapytania:<\/p>\n<pre><code>CREATE TABLE `users` (\u00a0`id` int(11) NOT NULL AUTO_INCREMENT,\n\u00a0`first_name` varchar(255) NOT NULL,\n\u00a0`last_name` varchar(255) NOT NULL,\n\u00a0`age` int(11) NOT NULL,\n\u00a0PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;<\/code><\/pre>\n<p>Tabela \u201eusers&quot; zawiera kolumny imi\u0119, nazwisko i wiek. Dodaj fikcyjne wpisy w tej tabeli. U\u017cytkownik mo\u017ce u\u017cy\u0107 <a href=\"https:\/\/themewp.inform.click\/pl\/jak-zainicjowac-baze-danych-za-pomoca-biblioteki-php-faker\/\" title=\"biblioteki Faker,\">biblioteki Faker,<\/a> aby <a href=\"https:\/\/themewp.inform.click\/pl\/jak-zainicjowac-baze-danych-za-pomoca-biblioteki-php-faker\/\" title=\"zape\u0142ni\u0107\">zape\u0142ni\u0107<\/a> tabel\u0119 fikcyjnymi wpisami. Korzystaj\u0105c z biblioteki faker mo\u017cna w kilka chwil doda\u0107 tysi\u0105ce fa\u0142szywych wpis\u00f3w do bazy danych.<\/p>\n<p>Nast\u0119pnie utw\u00f3rz <code>config.php<\/code>plik i napisz kod po\u0142\u0105czenia z baz\u0105 danych.<\/p>\n<p><strong>config.php<\/strong><\/p>\n<pre><code>&lt;?php\n$conn = new mysqli(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME);\n\u00a0\nif ($conn-&gt;connect_errno) {\n\u00a0\u00a0\u00a0\u00a0echo \"Error: \". $conn-&gt;connect_error;\n}<\/code><\/pre>\n<p>Pami\u0119taj, aby zast\u0105pi\u0107 symbole zast\u0119pcze rzeczywistymi warto\u015bciami.<\/p>\n<h3>Jak u\u017cywa\u0107 DataTable w PHP<\/h3>\n<p>Aby zintegrowa\u0107 DataTable, zamierzam pobra\u0107 rekordy z bazy danych, przej\u015b\u0107 przez ni\u0105 i wy\u015bwietli\u0107 w tabeli. A nast\u0119pnie zastosuj DataTable do tabeli HTML.<\/p>\n<p>Utw\u00f3rz <code>index.php<\/code>plik i dodaj do niego poni\u017cszy kod.<\/p>\n<pre><code>&lt;?php\nrequire_once('config.php');\n\u00a0\n$sql = \"SELECT id, first_name, last_name, age FROM users\";\n$result = $conn-&gt;query($sql);\n$arr_users = [];\nif ($result-&gt;num_rows &gt; 0) {\n\u00a0\u00a0\u00a0\u00a0$arr_users = $result-&gt;fetch_all(MYSQLI_ASSOC);\n}\n?&gt;<\/code><\/pre>\n<p>W powy\u017cszym kodzie pobra\u0142em wszystkie wiersze z tabeli 'users&#8217; i przypisa\u0142em je do zmiennej PHP <code>$arr_users<\/code>. Teraz przejd\u0119 przez t\u0119 zmienn\u0105 i stworz\u0119 wiersz tabeli jeden po drugim.<\/p>\n<pre><code>&lt;table id=\"userTable\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;thead&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;th&gt;First Name&lt;\/th&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;th&gt;Last Name&lt;\/th&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;th&gt;Age&lt;\/th&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;\/thead&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;tbody&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;?php if(!empty($arr_users)) { ?&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;?php foreach($arr_users as $user) { ?&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;tr&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;td&gt;&lt;?php echo $user['first_name']; ?&gt;&lt;\/td&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;td&gt;&lt;?php echo $user['last_name']; ?&gt;&lt;\/td&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;td&gt;&lt;?php echo $user['age']; ?&gt;&lt;\/td&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/tr&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;?php } ?&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;?php } ?&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;\/tbody&gt;\n&lt;\/table&gt;<\/code><\/pre>\n<p>Tutaj poda\u0142em do tabeli identyfikator 'userTable&#8217;. Nast\u0119pn\u0105 rzecz\u0105, kt\u00f3r\u0105 musz\u0119 zrobi\u0107, to do\u0142\u0105czy\u0107 wymagane pliki DataTable do kodu HTML.<\/p>\n<pre><code>&lt;link rel=\"stylesheet\" type=\"text\/css\" href=\"\/\/cdn.datatables.net\/1.10.21\/css\/jquery.dataTables.min.css\"\/&gt;\n&lt;script src=\"\/\/cdnjs.cloudflare.com\/ajax\/libs\/jquery\/3.5.1\/jquery.min.js\"&gt;&lt;\/script&gt;\n&lt;script type=\"text\/javascript\" src=\"\/\/cdn.datatables.net\/1.10.21\/js\/jquery.dataTables.min.js\"&gt;&lt;\/script&gt;<\/code><\/pre>\n<p>Na koniec wywo\u0142aj metod\u0119 DataTable() na podanym identyfikatorze tabeli.<\/p>\n<pre><code>&lt;script&gt;\n$(document).ready(function() {\n\u00a0\u00a0\u00a0\u00a0$('#userTable').DataTable();\n});\n&lt;\/script&gt;<\/code><\/pre>\n<p>Nasz ostateczny kod jest nast\u0119puj\u0105cy;<\/p>\n<pre><code>&lt;?php\nrequire_once('config.php');\n\u00a0\n$sql = \"SELECT id, first_name, last_name, age FROM users\";\n$result = $conn-&gt;query($sql);\n$arr_users = [];\nif ($result-&gt;num_rows &gt; 0) {\n\u00a0\u00a0\u00a0\u00a0$arr_users = $result-&gt;fetch_all(MYSQLI_ASSOC);\n}\n?&gt;\n&lt;!DOCTYPE html&gt;\n&lt;html lang=\"en\"&gt;\n&lt;head&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;meta charset=\"UTF-8\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;title&gt;Datatable&lt;\/title&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;link rel=\"stylesheet\" type=\"text\/css\" href=\"\/\/cdn.datatables.net\/1.10.21\/css\/jquery.dataTables.min.css\"\/&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;table id=\"userTable\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;thead&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;th&gt;First Name&lt;\/th&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;th&gt;Last Name&lt;\/th&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;th&gt;Age&lt;\/th&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/thead&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;tbody&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;?php if(!empty($arr_users)) { ?&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;?php foreach($arr_users as $user) { ?&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;tr&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;td&gt;&lt;?php echo $user['first_name']; ?&gt;&lt;\/td&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;td&gt;&lt;?php echo $user['last_name']; ?&gt;&lt;\/td&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;td&gt;&lt;?php echo $user['age']; ?&gt;&lt;\/td&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/tr&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;?php } ?&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;?php } ?&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/tbody&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;\/table&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;script src=\"\/\/cdnjs.cloudflare.com\/ajax\/libs\/jquery\/3.5.1\/jquery.min.js\"&gt;&lt;\/script&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;script type=\"text\/javascript\" src=\"\/\/cdn.datatables.net\/1.10.21\/js\/jquery.dataTables.min.js\"&gt;&lt;\/script&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;script&gt;\n\u00a0\u00a0\u00a0\u00a0$(document).ready(function() {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$('#userTable').DataTable();\n\u00a0\u00a0\u00a0\u00a0});\n\u00a0\u00a0\u00a0\u00a0&lt;\/script&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n<p>Mam nadziej\u0119, \u017ce nauczysz si\u0119 u\u017cywa\u0107 DataTable w PHP. Podziel si\u0119 swoimi przemy\u015bleniami w sekcji komentarzy poni\u017cej.<\/p>\n<h4>Powi\u0105zane artyku\u0142y<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/jak-przekonwertowac-html-na-pdf-w-php\/\" title=\"Jak przekonwertowa\u0107 HTML na PDF w PHP\">Jak przekonwertowa\u0107 HTML na PDF w PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/jak-wyeksportowac-dane-bazy-danych-mysql-do-programu-excel-za-pomoca-php\/\" title=\"Jak wyeksportowa\u0107 dane bazy danych MySQL do programu Excel za pomoc\u0105 PHP\">Jak wyeksportowa\u0107 dane bazy danych MySQL do programu Excel za pomoc\u0105 PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/jak-czytac-plik-csv-i-excel-w-php-za-pomoca-arkusza-php\/\" title=\"Jak czyta\u0107 plik CSV i Excel w PHP za pomoc\u0105 arkusza PHP?\">Jak czyta\u0107 plik CSV i Excel w PHP za pomoc\u0105 arkusza PHP?<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tabele DataTables s\u0105 bardzo popularne jako lista rekord\u00f3w w Twojej aplikacji. W tym artykule dowiemy si\u0119, jak u\u017cywa\u0107 DataTable w PHP.<\/p>\n","protected":false},"author":1,"featured_media":20497,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[209,277],"tags":[847],"class_list":["post-28345","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-elementor-8","category-php-8","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/28345","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/comments?post=28345"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/28345\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media\/20497"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media?parent=28345"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/categories?post=28345"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/tags?post=28345"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}