{"id":645,"date":"2020-05-04T17:43:17","date_gmt":"2020-05-04T15:43:17","guid":{"rendered":"https:\/\/sm-org.de\/?p=645"},"modified":"2020-05-10T15:05:35","modified_gmt":"2020-05-10T13:05:35","slug":"datatables-bootstrap","status":"publish","type":"post","link":"https:\/\/sm-org.de\/index.php\/2020\/05\/04\/datatables-bootstrap\/","title":{"rendered":"DataTables &#8211; Bootstrap"},"content":{"rendered":"<p>Hier findest du einen Codeschnippsel um Data Tables in Bootstrap immer aktuell darzustellen. Der erste Teil kommt in den Scriptbereich in der Datei wo die Tabele dargestellt werden soll. Das Script greift auf eine php Datei zu. In der php Datei werden dann die Daten f\u00fcr die Tabelle erzeugt. Es l\u00e4sst sich so nur die Tabelle aktualisieren. Dann mu\u00df nicht immer die ganze Seite geladen werden.<\/p>\n\n\n<pre class=\"wp-block-code\"><code>&lt;script>\n$('#TblKunden').dataTable(\n\n{\n\n\"ordering\": true,\n\"paging\": true,\n\"info\": true,\n\"searching\": true,\n\"processing\": true,\n\"serverSide\": true,\n\"columns\":&#91;{\"title\" : \"spalte\"},{\"title\" : \"spalte1\"},{\"title\" : \"spalte2\"},{\"title\" : \"spalte3\"}],\n\"ajax\": '\/scripte\/ajax_DeiineTabellenAbfrage.php'\n})\n\n&lt;\/script><\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\nverbinden_mysqli();\n\n\/\/ Alle Variablen initalisieren\n$params = $columns = $totalRecords = $data = array();\n$params = $_REQUEST;\n\/\/ Die Spaltennamen festlegen\n$columns = array(\u00a0\u00a0\u00a0 \u00a0\n0 =>'spalte',\u00a0\u00a0\u00a0 \u00a0\n1 =>'spalte1',\n2 =>'spalte2',\n3 =>'spalte3');\n\n$where = $sqlTot = $sqlRec = \"\";\n\n\/\/ Wenn eine Suche eingegeben ist pr\u00fcfen ob der Suchbegriff existiert\nif( !empty($params&#91;'search']&#91;'value']) ) {\n\u00a0\u00a0\u00a0 $where .=\" WHERE \";\u00a0\u00a0\u00a0 \u00a0\n\u00a0\u00a0\u00a0 $where .=\" ( spalte LIKE '\".$params&#91;'search']&#91;'value'].\"%' \";\u00a0\u00a0 \u00a0\n\u00a0\u00a0\u00a0 $where .=\" OR spalte1 LIKE '\".$params&#91;'search']&#91;'value'].\"%' \";\u00a0\u00a0\u00a0 \u00a0\n\u00a0\u00a0\u00a0 $where .=\" OR spalte2 LIKE '\".$params&#91;'search']&#91;'value'].\"%' )\";\n\u00a0\u00a0\u00a0 }\n\n\/\/ Anzahl der Datens\u00e4tze ermitteln\n$sql = \"SELECT spalte,spalte1,spalte2,DATE_FORMAT(spalte3,'%d.%m.%Y %H:%i') AS spalte3 FROM `DeineTabelle` \";\n$sqlTot .= $sql;\n$sqlRec .= $sql;\n\n\/\/ Den Suchstring verketten wenn Suchparameter vorhanden sind\nif(isset($where) &amp;&amp; $where != '') {\n\u00a0\u00a0\u00a0\u00a0 $sqlTot .= $where;\u00a0\u00a0\u00a0 \u00a0\n\u00a0\u00a0\u00a0\u00a0 $sqlRec .= $where;\n\u00a0\u00a0\u00a0\u00a0 }\n\n\u00a0$sqlRec .=\u00a0 \" ORDER BY \". $columns&#91;$params&#91;'order']&#91;0]&#91;'column']].\" \".$params&#91;'order']&#91;0]&#91;'dir'].\"\u00a0 LIMIT \".$params&#91;'start'].\" ,\".$params&#91;'length'].\" \";\n\n$queryTot = mysqli_query($Connection, $sqlTot) or die(\"database error:\". mysqli_error($Connection));\n$totalRecords = mysqli_num_rows($queryTot);\n$queryRecords = mysqli_query($Connection, $sqlRec) or die(\"error to fetch DeineTabelle data\". mysqli_error($Connection));\nwhile( $row = mysqli_fetch_row($queryRecords) ) {\u00a0\u00a0\u00a0 \u00a0\n$data&#91;] = $row; }\n$json_data = array(\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\n\"draw\"\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 => intval( $params&#91;'draw'] ),\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\n\"recordsTotal\"\u00a0\u00a0\u00a0 => intval( $totalRecords ),\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\n\"recordsFiltered\" => intval($totalRecords),\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\n\"data\"\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 => $data\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\n);\n\necho json_encode($json_data);\n\ntrennen_mysqli($Connection); \u00a0\n\/\/ Antwort als JSON abschicken\n?><\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Hier findest du einen Codeschnippsel um Data Tables in Bootstrap immer aktuell darzustellen. Der erste Teil kommt in den Scriptbereich in der Datei wo die Tabele dargestellt werden soll. Das Script greift auf eine php Datei zu. In der php Datei werden dann die Daten f\u00fcr die Tabelle erzeugt. Es l\u00e4sst sich so nur die [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[69],"tags":[75,72,74,71,70,73],"class_list":["post-645","post","type-post","status-publish","format-standard","hentry","category-programm","tag-ajax","tag-datatables","tag-json","tag-mysqli","tag-php","tag-tabellen"],"_links":{"self":[{"href":"https:\/\/sm-org.de\/index.php\/wp-json\/wp\/v2\/posts\/645","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sm-org.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sm-org.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sm-org.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sm-org.de\/index.php\/wp-json\/wp\/v2\/comments?post=645"}],"version-history":[{"count":9,"href":"https:\/\/sm-org.de\/index.php\/wp-json\/wp\/v2\/posts\/645\/revisions"}],"predecessor-version":[{"id":657,"href":"https:\/\/sm-org.de\/index.php\/wp-json\/wp\/v2\/posts\/645\/revisions\/657"}],"wp:attachment":[{"href":"https:\/\/sm-org.de\/index.php\/wp-json\/wp\/v2\/media?parent=645"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sm-org.de\/index.php\/wp-json\/wp\/v2\/categories?post=645"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sm-org.de\/index.php\/wp-json\/wp\/v2\/tags?post=645"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}