{"id":6979,"date":"2018-07-20T10:06:51","date_gmt":"2018-07-20T10:06:51","guid":{"rendered":"https:\/\/www.jose-aguilar.com\/blog\/?p=6979"},"modified":"2019-03-01T10:29:00","modified_gmt":"2019-03-01T10:29:00","slug":"datatables-jquery-plugin","status":"publish","type":"post","link":"https:\/\/www.jose-aguilar.com\/blog\/datatables-jquery-plugin\/","title":{"rendered":"DataTables jQuery plugin"},"content":{"rendered":"<p><strong>DataTables<\/strong> es un plugin para <strong>jQuery<\/strong> que permite agregar en las tablas de tu p\u00e1gina Web un aspecto liviano y las funciones para buscar, ordenar y paginar los resultados de forma r\u00e1pida. Es una herramienta altamente flexible, construida sobre los fundamentos de la mejora progresiva, que permite agregar f\u00e1cilmente todas estas funciones avanzadas a cualquier tabla <strong>HTML<\/strong>.<\/p>\n<p>Este plugin lo hemos usado en varios proyectos y la verdad es que no nos ha ido nada mal. Hemos salido airosos y nos ha ahorrado un tiempo de desarrollo apreciable.<\/p>\n<p>En el ejemplo en funcionamiento vamos a conectar con nuestra base de datos de productos para mostrarlos en una tabla a la que le aplicamos el formato <strong>DataTables<\/strong> usando <strong>Bootstrap 4<\/strong>. Usaremos <strong>PHP<\/strong> y <strong>MySQLi<\/strong> para conectar con una base de datos y obtener registros.<\/p>\n<p>Como de costumbre creamos un archivo <em>config.php<\/em> donde haremos la conexi\u00f3n con la base de datos utilizando <strong>MySQLi <\/strong>orientado a objetos:<\/p>\n<div id=\"wpshdo_1\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_1\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_1\"><\/a><a id=\"wpshat_1\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_1\"  onClick=\"javascript:wpsh_toggleBlock(1)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_1\" onClick=\"javascript:wpsh_code(1)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_1\" onClick=\"javascript:wpsh_print(1)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_1\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"php\" style=\"font-family:monospace;\"><span class=\"kw2\">&lt;?php<\/span>\n<a href=\"http:\/\/www.php.net\/define\"><span class=\"kw3\">define<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st_h\">'DB_SERVER'<\/span><span class=\"sy0\">,<\/span> <span class=\"st_h\">'localhost'<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n<a href=\"http:\/\/www.php.net\/define\"><span class=\"kw3\">define<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st_h\">'DB_SERVER_USERNAME'<\/span><span class=\"sy0\">,<\/span> <span class=\"st_h\">'YOUR USERNAME'<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n<a href=\"http:\/\/www.php.net\/define\"><span class=\"kw3\">define<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st_h\">'DB_SERVER_PASSWORD'<\/span><span class=\"sy0\">,<\/span> <span class=\"st_h\">'YOUR PASSWORD'<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n<a href=\"http:\/\/www.php.net\/define\"><span class=\"kw3\">define<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st_h\">'DB_DATABASE'<\/span><span class=\"sy0\">,<\/span> <span class=\"st_h\">'YOUR DATABASE'<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n&nbsp;\n<span class=\"re0\">$connexion<\/span> <span class=\"sy0\">=<\/span> <span class=\"kw2\">new<\/span> mysqli<span class=\"br0\">&#40;<\/span>DB_SERVER<span class=\"sy0\">,<\/span> DB_SERVER_USERNAME<span class=\"sy0\">,<\/span> DB_SERVER_PASSWORD<span class=\"sy0\">,<\/span> DB_DATABASE<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n<span class=\"sy1\">?&gt;<\/span><\/pre><\/div><\/div>\n<p>En el archivo principal, en este caso el<em> index.php<\/em>\u00a0en la primera l\u00ednea haremos una inclusi\u00f3n del fichero <em>config.php<\/em>, tal como sigue:<\/p>\n<div id=\"wpshdo_2\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_2\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_2\"><\/a><a id=\"wpshat_2\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_2\"  onClick=\"javascript:wpsh_toggleBlock(2)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_2\" onClick=\"javascript:wpsh_code(2)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_2\" onClick=\"javascript:wpsh_print(2)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_2\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"php\" style=\"font-family:monospace;\"><span class=\"kw2\">&lt;?php<\/span> <span class=\"kw1\">require<\/span><span class=\"br0\">&#40;<\/span><span class=\"st_h\">'config.php'<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> <span class=\"sy1\">?&gt;<\/span><\/pre><\/div><\/div>\n<p>Para que esto funcione, el archivo <em>index.php<\/em> y <em>config.php<\/em> deben estar en la misma ruta o directorio.<\/p>\n<p>En la cabecera de la p\u00e1gina o dentro de la etiqueta &lt;head&gt; agregamos los estilos y scripts necesarios para hacer funcionar el plugin datatables.<\/p>\n<div id=\"wpshdo_3\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_3\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_3\"><\/a><a id=\"wpshat_3\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_3\"  onClick=\"javascript:wpsh_toggleBlock(3)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_3\" onClick=\"javascript:wpsh_code(3)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_3\" onClick=\"javascript:wpsh_print(3)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_3\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"html4strict\" style=\"font-family:monospace;\"><span class=\"sc2\">&lt;<a href=\"http:\/\/december.com\/html\/4\/element\/link.html\"><span class=\"kw2\">link<\/span><\/a> <span class=\"kw3\">rel<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;stylesheet&quot;<\/span> <span class=\"kw3\">type<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;text\/css&quot;<\/span> <span class=\"kw3\">href<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;https:\/\/cdn.datatables.net\/v\/bs4\/dt-1.10.18\/datatables.min.css&quot;<\/span><span class=\"sy0\">\/<\/span>&gt;<\/span>\n<span class=\"sc2\">&lt;<a href=\"http:\/\/december.com\/html\/4\/element\/script.html\"><span class=\"kw2\">script<\/span><\/a> <span class=\"kw3\">type<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;text\/javascript&quot;<\/span> <span class=\"kw3\">src<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;https:\/\/cdn.datatables.net\/v\/bs4\/dt-1.10.18\/datatables.min.js&quot;<\/span>&gt;&lt;<span class=\"sy0\">\/<\/span><a href=\"http:\/\/december.com\/html\/4\/element\/script.html\"><span class=\"kw2\">script<\/span><\/a>&gt;<\/span>\n<span class=\"sc2\">&lt;<a href=\"http:\/\/december.com\/html\/4\/element\/script.html\"><span class=\"kw2\">script<\/span><\/a> <span class=\"kw3\">type<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;text\/javascript&quot;<\/span>&gt;<\/span>\n$(document).ready( function () {\n    $('#datatable').DataTable();\n} );\n<span class=\"sc2\">&lt;<span class=\"sy0\">\/<\/span><a href=\"http:\/\/december.com\/html\/4\/element\/script.html\"><span class=\"kw2\">script<\/span><\/a>&gt;<\/span><\/pre><\/div><\/div>\n<p>En el ejemplo en funcionamiento estamos usando la versi\u00f3n CDN que nos facilita el plugin datatables. Incorporamos su hoja de estilos <strong>CSS<\/strong> y el archivo <strong>JavaScript<\/strong>. Seguidamente la llamada al plugin con los par\u00e1metros por defecto.<\/p>\n<p>En el caso de no interesarte usar las opciones CDN para tu sitio, en la p\u00e1gina oficial tienes un apartado para descargar o usar los archivos del complemento que m\u00e1s te interese. <a href=\"https:\/\/datatables.net\/download\/\" target=\"_blank\" rel=\"noopener noreferrer\">Donwload<\/a>.<\/p>\n<p>Despu\u00e9s, dentro del &lt;body&gt; tenemos nuestra tabla con id=\u00bbdatatable\u00bb para adoptar las caracter\u00edsticas que aporta el plugin:<\/p>\n<div id=\"wpshdo_4\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_4\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_4\"><\/a><a id=\"wpshat_4\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_4\"  onClick=\"javascript:wpsh_toggleBlock(4)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_4\" onClick=\"javascript:wpsh_code(4)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_4\" onClick=\"javascript:wpsh_print(4)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_4\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"php\" style=\"font-family:monospace;\"><span class=\"kw2\">&lt;?php<\/span>\n<span class=\"re0\">$result<\/span> <span class=\"sy0\">=<\/span> <span class=\"re0\">$connexion<\/span><span class=\"sy0\">-&gt;<\/span><span class=\"me1\">query<\/span><span class=\"br0\">&#40;<\/span>\n    <span class=\"st_h\">'SELECT * FROM product p \n    LEFT JOIN product_lang pl ON (pl.id_product = p.id_product AND pl.id_lang = 1) \n    LEFT JOIN `image` i ON (i.id_product = p.id_product AND cover = 1) \n    WHERE active = 1 \n    ORDER BY date_upd DESC'<\/span>\n<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n<span class=\"sy1\">?&gt;<\/span>\n<span class=\"kw2\">&lt;?php<\/span> <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span><span class=\"re0\">$result<\/span><span class=\"sy0\">-&gt;<\/span><span class=\"me1\">num_rows<\/span> <span class=\"sy0\">&gt;<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span> <span class=\"sy1\">?&gt;<\/span>\n    &lt;table id=&quot;datatable&quot; class=&quot;table&quot;&gt;\n        &lt;thead&gt;\n            &lt;tr&gt;\n                &lt;th&gt;Nombre&lt;\/th&gt;\n                &lt;th&gt;Version&lt;\/th&gt;\n                &lt;th&gt;Compatibilidad&lt;\/th&gt;\n                &lt;th&gt;Precio&lt;\/th&gt;\n            &lt;\/tr&gt;\n        &lt;\/thead&gt;\n        <span class=\"kw2\">&lt;?php<\/span> <span class=\"kw1\">while<\/span> <span class=\"br0\">&#40;<\/span><span class=\"re0\">$row<\/span> <span class=\"sy0\">=<\/span> <span class=\"re0\">$result<\/span><span class=\"sy0\">-&gt;<\/span><span class=\"me1\">fetch_assoc<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span> <span class=\"sy1\">?&gt;<\/span>\n            &lt;tr&gt;\n                &lt;td&gt;<span class=\"kw2\">&lt;?php<\/span> <span class=\"kw1\">echo<\/span> <span class=\"re0\">$row<\/span><span class=\"br0\">[<\/span><span class=\"st_h\">'name'<\/span><span class=\"br0\">]<\/span><span class=\"sy0\">;<\/span> <span class=\"sy1\">?&gt;<\/span>&lt;\/td&gt;\n                &lt;td&gt;<span class=\"kw2\">&lt;?php<\/span> <span class=\"kw1\">echo<\/span> <span class=\"re0\">$row<\/span><span class=\"br0\">[<\/span><span class=\"st_h\">'version'<\/span><span class=\"br0\">]<\/span><span class=\"sy0\">;<\/span> <span class=\"sy1\">?&gt;<\/span>&lt;\/td&gt;\n                &lt;td&gt;<span class=\"kw2\">&lt;?php<\/span> <span class=\"kw1\">echo<\/span> <span class=\"re0\">$row<\/span><span class=\"br0\">[<\/span><span class=\"st_h\">'compatibility'<\/span><span class=\"br0\">]<\/span><span class=\"sy0\">;<\/span> <span class=\"sy1\">?&gt;<\/span>&lt;\/td&gt;\n                &lt;td&gt;<span class=\"kw2\">&lt;?php<\/span> <span class=\"kw1\">echo<\/span> <a href=\"http:\/\/www.php.net\/round\"><span class=\"kw3\">round<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"re0\">$row<\/span><span class=\"br0\">[<\/span><span class=\"st_h\">'price'<\/span><span class=\"br0\">]<\/span><span class=\"sy0\">,<\/span> 2<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> <span class=\"sy1\">?&gt;<\/span> EUR&lt;\/td&gt;\n                ...\n            &lt;\/tr&gt;\n        <span class=\"kw2\">&lt;?php<\/span> <span class=\"br0\">&#125;<\/span> <span class=\"sy1\">?&gt;<\/span>\n    &lt;\/table&gt;\n<span class=\"kw2\">&lt;?php<\/span> <span class=\"br0\">&#125;<\/span> <span class=\"sy1\">?&gt;<\/span><\/pre><\/div><\/div>\n<p>Como puedes observar, en el c\u00f3digo anterior hacemos una consulta de los productos y el resultado lo agregamos en la tabla solo en el caso de que haya registros.<\/p>\n<p>Con este c\u00f3digo obtenemos el siguiente aspecto para las tablas que resulta tambi\u00e9n mucho m\u00e1s elegante:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-6983\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2018\/07\/datatable-jquery-plugin-ejemplo.png\" alt=\"\" width=\"1051\" height=\"741\" srcset=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2018\/07\/datatable-jquery-plugin-ejemplo.png 1051w, https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2018\/07\/datatable-jquery-plugin-ejemplo-300x212.png 300w, https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2018\/07\/datatable-jquery-plugin-ejemplo-768x541.png 768w, https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2018\/07\/datatable-jquery-plugin-ejemplo-1024x722.png 1024w\" sizes=\"auto, (max-width: 1051px) 100vw, 1051px\" \/><\/p>\n<p>Toda la documentaci\u00f3n de este plugin est\u00e1 bien redactada en la p\u00e1gina oficial. Eso si, en ingl\u00e9s. <a href=\"https:\/\/datatables.net\/manual\/\" target=\"_blank\" rel=\"noopener noreferrer\">Ver documentaci\u00f3n<\/a>.<\/p>\n<p>Desde mi punto de vista tan solo le puedo poner 2 inconvenientes:<\/p>\n<ul>\n<li>Aparece siempre en ingl\u00e9s. No hay traducciones. Aunque los textos los puedes cambiar editando los archivos .js que trae la descarga.<\/li>\n<li>Las flechas de ordenaci\u00f3n de registros no ordenan de forma correcta en ocasiones. Por ejemplo, cuando hay n\u00fameros, los considera como cadenas con su respectivo orden incorrecto. Parece ser que el orden que se aplica es alfab\u00e9tico y solo con cadenas de texto.<\/li>\n<\/ul>\n<p><a class=\"btn btn-primary\" href=\"https:\/\/www.jose-aguilar.com\/scripts\/jquery\/datatable\/\" target=\"_blank\" rel=\"noopener noreferrer\"><i class=\"fa fa-eye\"><\/i> Ver ejemplo en funcionamiento<\/a><\/p>\n<p>\u00bfConoces alg\u00fan otro plugin que sea interesante para armar buenas tablas? No dudes en enviar tu comentario.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>DataTables es un plugin para jQuery que permite agregar en las tablas de tu p\u00e1gina Web un aspecto liviano y las funciones para buscar, ordenar y paginar los resultados de forma r\u00e1pida. Es una herramienta altamente flexible, construida sobre los fundamentos de la mejora progresiva, que permite agregar f\u00e1cilmente todas estas funciones avanzadas a cualquier [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":6980,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[69],"class_list":["post-6979","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jquery","tag-tablas"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>DataTables jQuery plugin - Jose Aguilar Blog<\/title>\n<meta name=\"description\" content=\"DataTables te permite mejorar el funcionamiento de las tablas de tu p\u00e1gina Web agregando funciones tales como buscar, ordenar o paginar de forma r\u00e1pida.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"DataTables jQuery plugin - Jose Aguilar Blog\" \/>\n<meta property=\"og:description\" content=\"DataTables te permite mejorar el funcionamiento de las tablas de tu p\u00e1gina Web agregando funciones tales como buscar, ordenar o paginar de forma r\u00e1pida.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.jose-aguilar.com\/blog\/datatables-jquery-plugin\/\" \/>\n<meta property=\"og:site_name\" content=\"Jose Aguilar Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/joseaguilarblog\" \/>\n<meta property=\"article:published_time\" content=\"2018-07-20T10:06:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-03-01T10:29:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2018\/07\/datatable-jquery-plugin.png\" \/>\n\t<meta property=\"og:image:width\" content=\"250\" \/>\n\t<meta property=\"og:image:height\" content=\"250\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jose Aguilar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@JoseAguilarBlog\" \/>\n<meta name=\"twitter:site\" content=\"@JoseAguilarBlog\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jose Aguilar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/datatables-jquery-plugin\/\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/datatables-jquery-plugin\/\",\"name\":\"DataTables jQuery plugin - Jose Aguilar Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/datatables-jquery-plugin\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/datatables-jquery-plugin\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2018\/07\/datatable-jquery-plugin.png\",\"datePublished\":\"2018-07-20T10:06:51+00:00\",\"dateModified\":\"2019-03-01T10:29:00+00:00\",\"author\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11\"},\"description\":\"DataTables te permite mejorar el funcionamiento de las tablas de tu p\u00e1gina Web agregando funciones tales como buscar, ordenar o paginar de forma r\u00e1pida.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/datatables-jquery-plugin\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.jose-aguilar.com\/blog\/datatables-jquery-plugin\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/datatables-jquery-plugin\/#primaryimage\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2018\/07\/datatable-jquery-plugin.png\",\"contentUrl\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2018\/07\/datatable-jquery-plugin.png\",\"width\":250,\"height\":250},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/datatables-jquery-plugin\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/www.jose-aguilar.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DataTables jQuery plugin\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#website\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/\",\"name\":\"Jose Aguilar Blog\",\"description\":\"Desarrollo Web con PrestaShop, WordPress, PHP, jQuery y Ajax\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.jose-aguilar.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11\",\"name\":\"Jose Aguilar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g\",\"caption\":\"Jose Aguilar\"},\"description\":\"Director ejecutivo y tecnol\u00f3gico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.\",\"sameAs\":[\"https:\/\/plus.google.com\/114357189801512615537\"],\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/author\/josea902\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"DataTables jQuery plugin - Jose Aguilar Blog","description":"DataTables te permite mejorar el funcionamiento de las tablas de tu p\u00e1gina Web agregando funciones tales como buscar, ordenar o paginar de forma r\u00e1pida.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"es_ES","og_type":"article","og_title":"DataTables jQuery plugin - Jose Aguilar Blog","og_description":"DataTables te permite mejorar el funcionamiento de las tablas de tu p\u00e1gina Web agregando funciones tales como buscar, ordenar o paginar de forma r\u00e1pida.","og_url":"https:\/\/www.jose-aguilar.com\/blog\/datatables-jquery-plugin\/","og_site_name":"Jose Aguilar Blog","article_publisher":"https:\/\/www.facebook.com\/joseaguilarblog","article_published_time":"2018-07-20T10:06:51+00:00","article_modified_time":"2019-03-01T10:29:00+00:00","og_image":[{"width":250,"height":250,"url":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2018\/07\/datatable-jquery-plugin.png","type":"image\/png"}],"author":"Jose Aguilar","twitter_card":"summary_large_image","twitter_creator":"@JoseAguilarBlog","twitter_site":"@JoseAguilarBlog","twitter_misc":{"Escrito por":"Jose Aguilar","Tiempo de lectura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.jose-aguilar.com\/blog\/datatables-jquery-plugin\/","url":"https:\/\/www.jose-aguilar.com\/blog\/datatables-jquery-plugin\/","name":"DataTables jQuery plugin - Jose Aguilar Blog","isPartOf":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/datatables-jquery-plugin\/#primaryimage"},"image":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/datatables-jquery-plugin\/#primaryimage"},"thumbnailUrl":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2018\/07\/datatable-jquery-plugin.png","datePublished":"2018-07-20T10:06:51+00:00","dateModified":"2019-03-01T10:29:00+00:00","author":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11"},"description":"DataTables te permite mejorar el funcionamiento de las tablas de tu p\u00e1gina Web agregando funciones tales como buscar, ordenar o paginar de forma r\u00e1pida.","breadcrumb":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/datatables-jquery-plugin\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.jose-aguilar.com\/blog\/datatables-jquery-plugin\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.jose-aguilar.com\/blog\/datatables-jquery-plugin\/#primaryimage","url":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2018\/07\/datatable-jquery-plugin.png","contentUrl":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2018\/07\/datatable-jquery-plugin.png","width":250,"height":250},{"@type":"BreadcrumbList","@id":"https:\/\/www.jose-aguilar.com\/blog\/datatables-jquery-plugin\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/www.jose-aguilar.com\/blog\/"},{"@type":"ListItem","position":2,"name":"DataTables jQuery plugin"}]},{"@type":"WebSite","@id":"https:\/\/www.jose-aguilar.com\/blog\/#website","url":"https:\/\/www.jose-aguilar.com\/blog\/","name":"Jose Aguilar Blog","description":"Desarrollo Web con PrestaShop, WordPress, PHP, jQuery y Ajax","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.jose-aguilar.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11","name":"Jose Aguilar","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g","caption":"Jose Aguilar"},"description":"Director ejecutivo y tecnol\u00f3gico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.","sameAs":["https:\/\/plus.google.com\/114357189801512615537"],"url":"https:\/\/www.jose-aguilar.com\/blog\/author\/josea902\/"}]}},"_links":{"self":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts\/6979","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/comments?post=6979"}],"version-history":[{"count":0,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts\/6979\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/media\/6980"}],"wp:attachment":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/media?parent=6979"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/categories?post=6979"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/tags?post=6979"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}