{"id":24720,"date":"2021-05-24T13:25:00","date_gmt":"2021-05-24T10:25:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24720"},"modified":"2021-10-17T20:42:20","modified_gmt":"2021-10-17T17:42:20","slug":"kuinka-kayttaa-datatable-ohjelmaa-php-ssa","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fi\/kuinka-kayttaa-datatable-ohjelmaa-php-ssa\/","title":{"rendered":"Kuinka k\u00e4ytt\u00e4\u00e4 DataTable-ohjelmaa PHP: ss\u00e4"},"content":{"rendered":"<p>Haluatko integroida DataTable-sovelluksen? DataTable lis\u00e4\u00e4 edistykselliset vuorovaikutuss\u00e4\u00e4timet HTML-taulukoihisi. Lis\u00e4ksi se on avoimen l\u00e4hdekoodin, joten jokainen voi k\u00e4ytt\u00e4\u00e4 sit\u00e4 ilmaiseksi. Se on hy\u00f6dyllinen, kun taulukossa on satoja merkint\u00f6j\u00e4. DataTable-sovelluksen avulla saat heid\u00e4n sis\u00e4\u00e4nrakennetut ominaisuutensa, kuten lajittelun, haun, sivutuksen jne. T\u00e4ss\u00e4 artikkelissa n\u00e4yt\u00e4n kuinka DataTable-sovellusta k\u00e4ytet\u00e4\u00e4n PHP: ss\u00e4.<\/p>\n<p><a href=\"https:\/\/datatables.net\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">DataTables<\/a> on suosittu valinta taulukkotietueiden luettelointiin sovelluksessa. Yksinkertaisuuden ja helpon asennuksen vuoksi kehitt\u00e4j\u00e4t halusivat k\u00e4ytt\u00e4\u00e4 sit\u00e4.<\/p>\n<p>Luo opetusohjelmaamme varten taulukko tietokantaan ja n\u00e4yt\u00e4n sen tietueet DataTable-taulukossa. Lopullinen tulos n\u00e4ytt\u00e4\u00e4 seuraavalta kuvakaappaukselta:<\/p>\n<h3>P\u00e4\u00e4st\u00e4 alkuun<\/h3>\n<p>P\u00e4\u00e4set alkuun siirtym\u00e4ll\u00e4 phpMyAdminiin ja luomalla taulukon k\u00e4ytt\u00e4m\u00e4ll\u00e4 alla olevaa kysely\u00e4:<\/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>K\u00e4ytt\u00e4j\u00e4t-taulukossa on sarakkeet etunimi, sukunimi ja ik\u00e4. Lis\u00e4\u00e4 n\u00e4enn\u00e4ismerkinn\u00e4t t\u00e4h\u00e4n taulukkoon. K\u00e4ytt\u00e4j\u00e4 voi k\u00e4ytt\u00e4\u00e4 <a href=\"https:\/\/themewp.inform.click\/fi\/kuinka-kylvaa-tietokantaa-php-faker-kirjastolla\/\" title=\"Faker-kirjastoa\">Faker-kirjastoa<\/a> p\u00f6yd\u00e4n <a href=\"https:\/\/themewp.inform.click\/fi\/kuinka-kylvaa-tietokantaa-php-faker-kirjastolla\/\" title=\"istuttamiseen nukkeilla\">istuttamiseen nukkeilla<\/a>. Fakkerikirjastoa k\u00e4ytt\u00e4m\u00e4ll\u00e4 voidaan lis\u00e4t\u00e4 tuhansia v\u00e4\u00e4rennettyj\u00e4 merkint\u00f6j\u00e4 tietokantaan hetkess\u00e4.<\/p>\n<p>Luo seuraavaksi <code>config.php<\/code>tiedosto ja kirjoita koodi tietokantayhteytt\u00e4 varten.<\/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>Muista korvata paikkamerkit todellisilla arvoilla.<\/p>\n<h3>Kuinka k\u00e4ytt\u00e4\u00e4 DataTable-ohjelmaa PHP: ss\u00e4<\/h3>\n<p>DataTable-toiminnon integroimiseksi aion tehd\u00e4 tietueita hakemalla tietueet tietokannasta, siirtym\u00e4ll\u00e4 sen l\u00e4pi ja n\u00e4ytt\u00e4m\u00e4ll\u00e4 sen taulukossa. Ja aseta sitten DataTable HTML-taulukkoon.<\/p>\n<p>Luo <code>index.php<\/code>tiedosto ja lis\u00e4\u00e4 siihen alla oleva koodi.<\/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>Yll\u00e4 olevassa koodissa hain kaikki rivit k\u00e4ytt\u00e4jien taulukosta ja osoitin ne PHP-muuttujaan <code>$arr_users<\/code>. K\u00e4yn nyt l\u00e4pi t\u00e4m\u00e4n muuttujan ja luon taulukkorivin yksitellen.<\/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>T\u00e4ss\u00e4 annoin taulukolle id &#8217;userTable&#8217;. Seuraava asia, jonka minun on teht\u00e4v\u00e4, on sis\u00e4llytt\u00e4\u00e4 vaaditut DataTable-tiedostot HTML-tiedostoon.<\/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>Kutsu lopuksi menetelm\u00e4 DataTable() annetulla taulukon tunnuksella.<\/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>Lopullinen koodimme on seuraava;<\/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>Toivon, ett\u00e4 saatat oppia k\u00e4ytt\u00e4m\u00e4\u00e4n DataTable-ohjelmaa PHP: ss\u00e4. Jaa ajatuksesi alla olevassa kommenttiosassa.<\/p>\n<h4>Aiheeseen liittyv\u00e4t artikkelit<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/kuinka-muuntaa-html-tiedosto-pdf-muotoon-php-ssa\/\" title=\"Kuinka muuntaa HTML-tiedosto PDF-muotoon PHP: ss\u00e4\">Kuinka muuntaa HTML-tiedosto PDF-muotoon PHP: ss\u00e4<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/kuinka-vieda-mysql-tietokantatiedot-exceliin-php-n-avulla\/\" title=\"Kuinka vied\u00e4 MySQL-tietokantatiedot Exceliin PHP: n avulla\">Kuinka vied\u00e4 MySQL-tietokantatiedot Exceliin PHP: n avulla<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/kuinka-lukea-csv-ja-excel-tiedostoja-php-ssa-phpspreadsheetin-avulla\/\" title=\"Kuinka lukea CSV- ja Excel-tiedostoja PHP: ss\u00e4 PhpSpreadsheetin avulla\">Kuinka lukea CSV- ja Excel-tiedostoja PHP: ss\u00e4 PhpSpreadsheetin avulla<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>DataTables on eritt\u00e4in suosittu sovelluksen tietueiden luetteloinnissa. T\u00e4ss\u00e4 artikkelissa tutkitaan, kuinka DataTable-sovellusta k\u00e4ytet\u00e4\u00e4n PHP: ss\u00e4.<\/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":[207,275],"tags":[843],"class_list":["post-24720","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-elementor-6","category-php-6","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/24720","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/comments?post=24720"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/24720\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media\/20497"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media?parent=24720"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/categories?post=24720"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/tags?post=24720"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}