{"id":5889,"date":"2013-03-17T13:14:22","date_gmt":"2013-03-17T13:14:22","guid":{"rendered":"https:\/\/www.jose-aguilar.com\/blog\/?p=5889"},"modified":"2019-03-20T11:15:11","modified_gmt":"2019-03-20T11:15:11","slug":"ofertas-flash-con-php-jquery-countdown-y-ajax","status":"publish","type":"post","link":"https:\/\/www.jose-aguilar.com\/blog\/ofertas-flash-con-php-jquery-countdown-y-ajax\/","title":{"rendered":"Ofertas Flash con PHP, jQuery Countdown y Ajax"},"content":{"rendered":"<p>Muchas empresas aprovechan el recurso de las ofertas flash para vender r\u00e1pidamente un producto o reducir considerablemente el stock ofreciendo a los clientes el producto a un precio rebajado y con un temporizador o cuenta atr\u00e1s con el objetivo de indicar a los usuarios que esa oferta va a estar vigente hasta que finalice la cuenta atr\u00e1s.<\/p>\n<p><a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/03\/flash.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5898\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/03\/flash.jpg\" alt=\"flash\" width=\"240\" height=\"114\" \/><\/a><\/p>\n<p>Existe varios plugins para crear cuentas atr\u00e1s como por ejemplo <a href=\"https:\/\/www.jose-aguilar.com\/blog\/countdown-dashboard-jquery\/\" target=\"_blank\" rel=\"noopener noreferrer\">Countdown Dashboard<\/a> o jQuery Countdown.<\/p>\n<p>En este art\u00edculo vamos a emplear el plugin jQuery Countdown por el simple hecho de que es mucho m\u00e1s sencillo dinamizarlo, darle un estilo personalzado y emplear ajax para controlar el fin de la oferta.<\/p>\n<p>El plugin Countdown Dashoboard est\u00e1 muy bien implementado pero le faltan m\u00e1s posibilidades de personalizaci\u00f3n de la cuenta atr\u00e1s y el poder controlar el fin de la cuenta mediante ajax en una lista din\u00e1mica.<\/p>\n<p>El plugin jQuery Countdown lo puedes descargar de aqu\u00ed adem\u00e1s de poder ver sus posibilidades.<\/p>\n<p>Para incluirlo en tu p\u00e1gina Web tan solo debes incluir la librer\u00eda jQuery, el plugin y los estilos necesarios (archivos incluidos en la descarga de jQuery Countdown), adem\u00e1s de la configuraci\u00f3n del idioma deseado. El plugin conlleva un sin fin de archivos de idioma, en este caso cogeremos el de espa\u00f1ol.<\/p>\n<pre>&lt;link type=\"text\/css\" href=\"css\/jquery.countdown.css\" rel=\"stylesheet\" \/&gt;\r\n&lt;style type=\"text\/css\"&gt;\r\n.defaultCountdown { width: 240px; height: 45px; float:left; }\r\n&lt;\/style&gt;\r\n&lt;script language=\"Javascript\" type=\"text\/javascript\" src=\"..\/jquery.js\"&gt;&lt;\/script&gt;\r\n&lt;script type=\"text\/javascript\" src=\"js\/jquery.countdown.js\"&gt;&lt;\/script&gt;\r\n&lt;script type=\"text\/javascript\" src=\"js\/jquery.countdown-es.js\"&gt;&lt;\/script&gt;<\/pre>\n<p>En el ejemplo en funcionamiento, las ofertas estar\u00e1n guardadas en una tabla extra en la base de datos asociada a los productos, en el caso de ejemplo tendremos algo como lo siguiente:<\/p>\n<p><a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/03\/table_flash.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5899\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/03\/table_flash.png\" alt=\"table_flash\" width=\"480\" height=\"108\" srcset=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/03\/table_flash.png 480w, https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/03\/table_flash-300x67.png 300w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a><\/p>\n<p>Por lo tanto, ser\u00e1 necesario conectar con la base de datos, por ejemplo de la siguiente forma:<\/p>\n<pre>&lt;?php\r\n$conexion = mysql_connect(\"localhost\", \"USUARIO\", \"CONTRASE\u00d1A\");\r\nmysql_select_db(\"NOMBRE_BD\", $conexion);\r\n?&gt;<\/pre>\n<p>La conexi\u00f3n a la base de datos deber\u00e1 hacerse antes de la consulta de las ofertas flash disponibles que las mostraremos con el siguiente c\u00f3digo:<\/p>\n<pre>&lt;div id=\"products\"&gt;\r\n\u00a0\u00a0 \u00a0&lt;?php\r\n\u00a0\u00a0\u00a0 $query_offers = 'SELECT id_flash_offer, id_product, fo.price as offer, fin, p.price, name\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 FROM flash_offers fo\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 LEFT JOIN products p on (p.products_id = fo.id_product)\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ORDER BY fin asc';\r\n\u00a0\u00a0\u00a0 $offers = mysql_query($query_offers, $conexion);\r\n\r\n\u00a0\u00a0\u00a0 while ($row = mysql_fetch_array($offers)) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 $partes = explode(' ', $row['fin']);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 $fecha = $partes[0];\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 $hora = $partes[1];\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 $partes_fecha = explode('-', $fecha);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 $partes_hora = explode(':', $hora);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ?&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;div id=\"fash_&lt;?php echo $row['id_flash_offer']; ?&gt;\"&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;h2&gt;&lt;?php echo $row['name']; ?&gt;&lt;\/h2&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;span style=\"text-decoration:line-through; color:#FF0000;\"&gt;&lt;?php echo $row['price']; ?&gt; \u20ac&lt;\/span&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;span style=\"font-weight:bold;\"&gt; &lt;?php echo $row['offer']; ?&gt; \u20ac&lt;\/span&gt;&lt;br\/&gt;&lt;br\/&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;div id=\"defaultCountdown&lt;?php echo $row['id_flash_offer']; ?&gt;\" data=\"&lt;?php echo $row['id_flash_offer']; ?&gt;\"&gt;&lt;\/div&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;script language=\"javascript\" type=\"text\/javascript\"&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 $(function () {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 var austDay = new Date();\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 var id = &lt;?php echo $row['id_flash_offer']; ?&gt;;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 date_end = new Date(&lt;?php echo $partes_fecha[0]; ?&gt;, &lt;?php echo $partes_fecha[1]; ?&gt; - 1, &lt;?php echo $partes_fecha[2]; ?&gt;, &lt;?php echo $partes_hora[0]; ?&gt;, &lt;?php echo $partes_hora[1]; ?&gt;, &lt;?php echo $partes_hora[2]; ?&gt;);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 $('#defaultCountdown&lt;?php echo $row['id_flash_offer']; ?&gt;').countdown({\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 until: date_end, \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 format: 'HMS',\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 onExpiry: endCountdown&lt;?php echo $row['id_flash_offer']; ?&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 });\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 function endCountdown&lt;?php echo $row['id_flash_offer']; ?&gt;() { \u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 var parent = $('#defaultCountdown'+id).parent().attr('id');\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 var dataString = 'flash_id='+id;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 $.ajax({\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 type: \"POST\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 url: \"delete_flash.php\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 data: dataString,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 success: function(data) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 var product = $('#defaultCountdown'+data).parent().attr('id');\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 $('#'+parent).slideUp();\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 });\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 });\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;\/script&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;\/div&gt;\r\n\u00a0\u00a0\u00a0 &lt;?php\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0 ?&gt;\r\n&lt;\/div&gt;<\/pre>\n<p>Tendremos un contenedor donde depositaremos los productos que est\u00e1n en oferta flash. Lo primero que hacemos es construir la query que nos retornar\u00e1 los productos que est\u00e1n en oferta flash, hacemos un bucle recorriendo los registros y descomponemos la fecha de fin o expiraci\u00f3n para poderla adaptar a la entrada del jQuery Countdown Plugin.<\/p>\n<p>Por cada producto, estamos mostrando el nombre, el precio real, el precio rebajado y el tiempo que falta para que expire la oferta.<\/p>\n<p><a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/03\/ofertas_flash.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5900\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/03\/ofertas_flash.png\" alt=\"ofertas_flash\" width=\"719\" height=\"547\" srcset=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/03\/ofertas_flash.png 719w, https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/03\/ofertas_flash-300x228.png 300w\" sizes=\"auto, (max-width: 719px) 100vw, 719px\" \/><\/a><\/p>\n<p>En la construcci\u00f3n de nuestra llamada al plugin jQuery Countdown lo que hacemos es rellenar el par\u00e1metro \u00abdate_end\u00bb con las fecha de fin que hay en la base de datos de cada producto.<\/p>\n<p>Tambi\u00e9n le estamos indicando al plugin que queremos que el formato de visualizaci\u00f3n de la cuenta atr\u00e1s muestre solo horas, minutos y segundos.<\/p>\n<p>Y finalmente, la parte que veo m\u00e1s interesante del asunto es la configuraci\u00f3n del par\u00e1metro \u00abonExpiry\u00bb donde lo que hacemos es asociarle una funci\u00f3n que se encarga de eliminar la oferta flash de la tabla de ofertas flash de la base de datos mediante la t\u00e9cnica AJAX.<\/p>\n<p>El archivo delete_flash.php que estamos llamando dentro del AJAX tan solo elimina la oferta que ha expirado.<\/p>\n<pre>&lt;?php\r\n$conexion = mysql_connect(\"localhost\", \"USUARIO\", \"CONTRASE\u00d1A\");\r\nmysql_select_db(\"NOMBRE_BD\", $conexion);\r\n\r\n$flash_id = $_POST['flash_id'];\r\n\r\n$delete = 'DELETE FROM `flash_offers` WHERE `id_flash_offer`='.$flash_id;\r\nmysql_query($delete, $conexion);\r\n\r\necho $flash_id;\r\n?&gt;<\/pre>\n<p>Como puedes observar, estamos recuperando el id de la oferta que se tiene que borrar mediante el m\u00e9todo POST, realizamos la eliminaci\u00f3n de la base de datos y retornamos el id borrado para aplicar el efecto de slideUp sobre el contenedor de la oferta que ha expirado. Este efecto del que hablo es que cuando se finaliza una oferta es que el producto desaparece con el efecto slideUp.<\/p>\n<p><a href=\"https:\/\/www.jose-aguilar.com\/scripts\/jquery\/special-flash\/countdown\/\" target=\"_blank\" rel=\"noopener noreferrer\">Ver ejemplo en funcionamiento<\/a><\/p>\n<p><a href=\"https:\/\/www.jose-aguilar.com\/modulos-prestashop\/es\/11-ofertas-flash.html\" target=\"_blank\" rel=\"noopener noreferrer\">Ver m\u00f3dulo para Prestashop<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Muchas empresas aprovechan el recurso de las ofertas flash para vender r\u00e1pidamente un producto o reducir considerablemente el stock ofreciendo a los clientes el producto a un precio rebajado y con un temporizador o cuenta atr\u00e1s con el objetivo de indicar a los usuarios que esa oferta va a estar vigente hasta que finalice la [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":5898,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[31,5,3,21],"tags":[65,167],"class_list":["post-5889","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ajax","category-jquery","category-php","category-prestashop","tag-countdown","tag-eventos"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ofertas Flash con PHP, jQuery Countdown y Ajax - Jose Aguilar Blog<\/title>\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=\"Ofertas Flash con PHP, jQuery Countdown y Ajax - Jose Aguilar Blog\" \/>\n<meta property=\"og:description\" content=\"Muchas empresas aprovechan el recurso de las ofertas flash para vender r\u00e1pidamente un producto o reducir considerablemente el stock ofreciendo a los clientes el producto a un precio rebajado y con un temporizador o cuenta atr\u00e1s con el objetivo de indicar a los usuarios que esa oferta va a estar vigente hasta que finalice la [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.jose-aguilar.com\/blog\/ofertas-flash-con-php-jquery-countdown-y-ajax\/\" \/>\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=\"2013-03-17T13:14:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-03-20T11:15:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/03\/flash.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"240\" \/>\n\t<meta property=\"og:image:height\" content=\"114\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\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=\"5 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\/ofertas-flash-con-php-jquery-countdown-y-ajax\/\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/ofertas-flash-con-php-jquery-countdown-y-ajax\/\",\"name\":\"Ofertas Flash con PHP, jQuery Countdown y Ajax - Jose Aguilar Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/ofertas-flash-con-php-jquery-countdown-y-ajax\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/ofertas-flash-con-php-jquery-countdown-y-ajax\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/03\/flash.jpg\",\"datePublished\":\"2013-03-17T13:14:22+00:00\",\"dateModified\":\"2019-03-20T11:15:11+00:00\",\"author\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/ofertas-flash-con-php-jquery-countdown-y-ajax\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.jose-aguilar.com\/blog\/ofertas-flash-con-php-jquery-countdown-y-ajax\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/ofertas-flash-con-php-jquery-countdown-y-ajax\/#primaryimage\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/03\/flash.jpg\",\"contentUrl\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/03\/flash.jpg\",\"width\":240,\"height\":114},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/ofertas-flash-con-php-jquery-countdown-y-ajax\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/www.jose-aguilar.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ofertas Flash con PHP, jQuery Countdown y Ajax\"}]},{\"@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":"Ofertas Flash con PHP, jQuery Countdown y Ajax - Jose Aguilar Blog","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":"Ofertas Flash con PHP, jQuery Countdown y Ajax - Jose Aguilar Blog","og_description":"Muchas empresas aprovechan el recurso de las ofertas flash para vender r\u00e1pidamente un producto o reducir considerablemente el stock ofreciendo a los clientes el producto a un precio rebajado y con un temporizador o cuenta atr\u00e1s con el objetivo de indicar a los usuarios que esa oferta va a estar vigente hasta que finalice la [&hellip;]","og_url":"https:\/\/www.jose-aguilar.com\/blog\/ofertas-flash-con-php-jquery-countdown-y-ajax\/","og_site_name":"Jose Aguilar Blog","article_publisher":"https:\/\/www.facebook.com\/joseaguilarblog","article_published_time":"2013-03-17T13:14:22+00:00","article_modified_time":"2019-03-20T11:15:11+00:00","og_image":[{"width":240,"height":114,"url":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/03\/flash.jpg","type":"image\/jpeg"}],"author":"Jose Aguilar","twitter_card":"summary_large_image","twitter_creator":"@JoseAguilarBlog","twitter_site":"@JoseAguilarBlog","twitter_misc":{"Escrito por":"Jose Aguilar","Tiempo de lectura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.jose-aguilar.com\/blog\/ofertas-flash-con-php-jquery-countdown-y-ajax\/","url":"https:\/\/www.jose-aguilar.com\/blog\/ofertas-flash-con-php-jquery-countdown-y-ajax\/","name":"Ofertas Flash con PHP, jQuery Countdown y Ajax - Jose Aguilar Blog","isPartOf":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/ofertas-flash-con-php-jquery-countdown-y-ajax\/#primaryimage"},"image":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/ofertas-flash-con-php-jquery-countdown-y-ajax\/#primaryimage"},"thumbnailUrl":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/03\/flash.jpg","datePublished":"2013-03-17T13:14:22+00:00","dateModified":"2019-03-20T11:15:11+00:00","author":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11"},"breadcrumb":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/ofertas-flash-con-php-jquery-countdown-y-ajax\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.jose-aguilar.com\/blog\/ofertas-flash-con-php-jquery-countdown-y-ajax\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.jose-aguilar.com\/blog\/ofertas-flash-con-php-jquery-countdown-y-ajax\/#primaryimage","url":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/03\/flash.jpg","contentUrl":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/03\/flash.jpg","width":240,"height":114},{"@type":"BreadcrumbList","@id":"https:\/\/www.jose-aguilar.com\/blog\/ofertas-flash-con-php-jquery-countdown-y-ajax\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/www.jose-aguilar.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ofertas Flash con PHP, jQuery Countdown y Ajax"}]},{"@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\/5889","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=5889"}],"version-history":[{"count":0,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts\/5889\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/media\/5898"}],"wp:attachment":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/media?parent=5889"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/categories?post=5889"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/tags?post=5889"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}