{"id":28328,"date":"2021-05-24T14:06:00","date_gmt":"2021-05-24T11:06:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28328"},"modified":"2021-10-17T16:47:59","modified_gmt":"2021-10-17T13:47:59","slug":"como-usar-datatable-en-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/es\/como-usar-datatable-en-php\/","title":{"rendered":"C\u00f3mo usar DataTable en PHP"},"content":{"rendered":"<p>\u00bfQuiere integrar DataTable en su aplicaci\u00f3n? DataTable agrega controles de interacci\u00f3n avanzados a sus tablas HTML. Adem\u00e1s, es de c\u00f3digo abierto para que todos puedan usarlo gratis. Es \u00fatil cuando su tabla tiene cientos de entradas. Usando DataTable, obtendr\u00e1 sus caracter\u00edsticas integradas como clasificaci\u00f3n, b\u00fasqueda, paginaci\u00f3n, etc. En este art\u00edculo, le muestro c\u00f3mo usar DataTable en PHP.<\/p>\n<p><a href=\"https:\/\/datatables.net\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">DataTables<\/a> es una opci\u00f3n popular para listar registros tabulares en la aplicaci\u00f3n. Debido a su simplicidad y f\u00e1cil instalaci\u00f3n, los desarrolladores prefirieron usarlo.<\/p>\n<p>Para nuestro tutorial, crear\u00e9 una tabla en la base de datos y mostrar\u00e9 sus registros en DataTable. La salida final se ver\u00e1 como la siguiente captura de pantalla:<\/p>\n<h3>Empezando<\/h3>\n<p>Para comenzar, dir\u00edjase a su phpMyAdmin y cree la tabla usando la siguiente consulta:<\/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>La tabla &#8216;usuarios&#8217; tiene columnas first_name, last_name y age. Agregue entradas ficticias en esta tabla. El usuario puede usar la <a href=\"https:\/\/themewp.inform.click\/es\/como-sembrar-la-base-de-datos-usando-php-faker-library\/\" title=\"biblioteca Faker\">biblioteca Faker<\/a> para sembrar su tabla con entradas ficticias. Usando la biblioteca de falsificaciones, se pueden agregar miles de entradas falsas en la base de datos en unos momentos.<\/p>\n<p>A continuaci\u00f3n, cree un <code>config.php<\/code>archivo y escriba un c\u00f3digo para la conexi\u00f3n a la base de datos.<\/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>Aseg\u00farese de reemplazar los marcadores de posici\u00f3n con los valores reales.<\/p>\n<h3>C\u00f3mo usar DataTable en PHP<\/h3>\n<p>Para integrar DataTable, lo que voy a hacer es buscar registros de la base de datos, recorrerlos y mostrarlos en una tabla. Y luego aplique DataTable a la tabla HTML.<\/p>\n<p>Cree un <code>index.php<\/code>archivo y agregue el c\u00f3digo a continuaci\u00f3n.<\/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>En el c\u00f3digo anterior, obtuve todas las filas de la tabla &#8216;usuarios&#8217; y las asign\u00e9 a la variable PHP <code>$arr_users<\/code>. Ahora, recorrer\u00e9 esta variable y crear\u00e9 la fila de la tabla una por una.<\/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>Aqu\u00ed, le di una identificaci\u00f3n &#8216;userTable&#8217; a la tabla. Lo siguiente que debo hacer es incluir los archivos requeridos de DataTable en el 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>Finalmente, llame al m\u00e9todo DataTable() en la identificaci\u00f3n de la tabla dada.<\/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>Nuestro c\u00f3digo final es el siguiente;<\/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>Espero que pueda aprender a usar DataTable en PHP. Comparta sus pensamientos en la secci\u00f3n de comentarios a continuaci\u00f3n.<\/p>\n<h4>Art\u00edculos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/como-convertir-html-a-pdf-en-php\/\" title=\"C\u00f3mo convertir HTML a PDF en PHP\">C\u00f3mo convertir HTML a PDF en PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/como-exportar-datos-de-bases-de-datos-mysql-a-excel-usando-php\/\" title=\"C\u00f3mo exportar datos de bases de datos MySQL a Excel usando PHP\">C\u00f3mo exportar datos de bases de datos MySQL a Excel usando PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/como-leer-archivos-csv-y-excel-en-php-usando-phpspreadsheet\/\" title=\"C\u00f3mo leer archivos CSV y Excel en PHP usando PhpSpreadsheet\">C\u00f3mo leer archivos CSV y Excel en PHP usando PhpSpreadsheet<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Las tablas de datos son muy populares para la lista de registros en su aplicaci\u00f3n. En este art\u00edculo, estudiamos c\u00f3mo usar DataTable en 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":[203,271],"tags":[849],"class_list":["post-28328","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-elementor-2","category-php-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/28328","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/comments?post=28328"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/28328\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media\/20497"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media?parent=28328"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/categories?post=28328"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/tags?post=28328"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}