Creating HTML List Pagination, Display Length, and Search in PHP Tutorial

In this tutorial, we will be creating a simple HTML List Pagination with Display Entries Length and Search. This tutorial is really useful for optiomizing your website for display bulk data. With the said Web App Feature, this will help to limit the data to display from database, prevent long page scroll, and fast loading. Mainly, the idea of this tutorial focuses to the HTML <ul></ul> and <ol></ol> tags but you can also use the logic for other html elements that you desires to put a pagination, length limit, and search features.

What are the benefits of learning Pagination with Display Entries Length and Search?

These are the following benefits for learning this for developing/building your future Web Application using PHP Language.

  • Help to Optimize your Page Display
  • Fast Page Loading
  • Prevent Long Page Scroll
  • User-friendly feature

Getting Started

In this tutorial, I'd used XAMPP to run my PHP Scripts. You also use other local web servers such as WAMP/LAMP. Before you proceed, make sure that your Apache and MySQL server are already started.

I am using Bootstrap and jQuery libraries/plugins for the better user interface design.

Creating the Dummy Database

Open your PHPMyAdmin in a browser and create a new database naming dummy_db. Then navigate to SQL Tab and paste the SQL Script below.

  1. CREATE TABLE `posts` (
  2. `title` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  3. `description` varchar(500) COLLATE utf8_unicode_ci NOT NULL,
  4. `content` text COLLATE utf8_unicode_ci NOT NULL,
  5. `date` date NOT NULL,
  6. PRIMARY KEY (`id`)
  7. ) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
  8.  
  9. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (1, 'Adipisci incidunt qui enim libero adipisci.', 'Commodi quo aspernatur neque quasi error. Sit doloribus porro tenetur vitae. Neque doloribus reprehenderit et et ullam. Ea dolores molestiae dignissimos sed expedita dolor.', 'Eos quaerat ullam eligendi earum. Laborum occaecati sunt qui amet et sequi. Culpa quia sequi non voluptates aut omnis quia. Culpa ex porro officia voluptatibus doloribus.', '1970-07-10');
  10. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (2, 'Libero repellendus qui sit quis doloremque.', 'Modi accusamus ad totam facilis id rerum sit ipsa. Expedita labore sint velit laborum cupiditate in repudiandae.', 'Omnis et expedita sed. Qui est aut vitae quia ab suscipit. Maiores tempore et labore et inventore et. Exercitationem qui tempora rerum delectus ut facere eaque.', '1982-10-31');
  11. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (3, 'Delectus voluptatem dolorem officiis quaerat assumenda.', 'Voluptatum architecto id aliquid est. Similique dolores commodi harum minima doloribus et.', 'Nemo accusamus qui autem eos. Tempora et dolore nemo facere.', '1999-01-29');
  12. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (4, 'Excepturi voluptas saepe fugit aut saepe.', 'Laboriosam rerum aut quasi nulla. Vel atque quae fugit dolor aliquid. Voluptas ratione quod quod debitis quasi dicta. Ut ea iure est accusamus reiciendis.', 'Debitis numquam id molestiae expedita officiis. Amet natus repellendus voluptas alias. Magni ratione qui incidunt quod deleniti aut.', '1979-01-15');
  13. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (5, 'Ab dolorem nobis ut sit voluptatem aperiam minus eum.', 'Magni aliquam dolor enim rerum numquam. Impedit in modi vitae facere vitae mollitia dolor consequatur. Quas itaque adipisci labore omnis iure aut quisquam possimus.', 'Et rem tempora expedita accusamus. Inventore placeat est quisquam illo porro. Corporis dicta maiores ipsa quibusdam optio.', '1981-10-06');
  14. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (6, 'Deleniti ut provident voluptatum culpa magnam.', 'Ea magnam nihil iste minus ipsa occaecati tenetur distinctio. Aliquam mollitia nihil nihil itaque et. Laboriosam quas eveniet delectus dolore alias ipsa nesciunt. Eum repellendus optio aut illo qui quod laudantium similique. Molestiae deserunt minima harum accusamus ratione voluptates asperiores.', 'Voluptatem est aut sit et debitis ut iusto. Expedita quia facilis accusantium rerum. Accusamus quas vitae nam exercitationem aut. Quis perspiciatis commodi architecto ducimus voluptatem.', '1996-10-24');
  15. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (7, 'Omnis voluptatibus fugiat cum velit quod nostrum est ex.', 'Natus temporibus doloribus rem consequatur sit dolores veniam. Vel vel adipisci aspernatur nesciunt omnis.', 'Ut perspiciatis ut aspernatur voluptatum. Numquam velit explicabo ipsam similique quod beatae saepe nulla. Mollitia accusantium aspernatur quaerat deserunt aperiam.', '2010-08-12');
  16. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (8, 'Voluptas vero vero sunt dolorum natus accusantium sunt.', 'Rerum qui optio quaerat aut error quibusdam veniam. Voluptate facere ut similique ut sapiente numquam distinctio. Occaecati aspernatur amet atque voluptatem possimus dolores quibusdam.', 'Qui optio facilis autem qui. Ratione sit officia libero tempora est repellendus fugiat.\nAut iure dolorem voluptatem ea id sequi. Et cum consequuntur nam rerum. Numquam est unde debitis.', '1987-12-26');
  17. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (9, 'Dolore illum vel dolore in.', 'Eos sit omnis autem sunt nostrum. Eaque commodi quisquam molestiae ad. Magni eum est est eaque consectetur. Atque ut recusandae dolores commodi sapiente ut eius dolor.', 'Aperiam quo minima est consequatur necessitatibus. Voluptate porro laboriosam quidem iste eos. Officiis delectus nihil suscipit consequuntur. Aut suscipit quaerat atque in quas odio et dolorum.', '1984-08-21');
  18. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (10, 'Numquam harum dolore sit sapiente quasi magni.', 'Et occaecati et quos modi aut nobis repellat. Laudantium illum quia et ipsam esse. Laborum enim saepe deleniti illum a magnam ut. Fuga est esse accusantium voluptatem dolores natus quo.', 'Dolorum soluta dolor repudiandae ullam quo placeat nobis voluptatibus. Velit enim eveniet voluptatem ducimus doloremque sint est. Rerum deleniti qui illo dolorum non.', '1984-02-18');
  19. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (11, 'Voluptate laboriosam sed molestias numquam.', 'Aut porro est voluptatem dicta nemo. Rerum ratione fugit nisi quibusdam omnis.', 'Et est numquam eos sed enim velit. Corrupti sequi labore quia et totam minus et.', '1994-12-27');
  20. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (12, 'Ducimus totam illum ea aut.', 'Et qui minima quo et sunt. Officiis exercitationem eum maxime quis voluptatem. Deleniti ex provident iste et. Molestiae voluptatum fuga corrupti rem totam dolor nisi.', 'Fuga accusantium ut voluptatem quod. Id cumque alias qui ea vel vel inventore atque. Omnis culpa vel sunt qui.', '2015-09-03');
  21. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (13, 'Est quo veniam illum enim qui.', 'Sit blanditiis recusandae delectus iure quia. Voluptas neque velit animi et autem voluptas iste. Fugiat cum sit fugiat. Occaecati exercitationem qui alias perspiciatis. Qui eos et cupiditate quis ipsa quod.', 'Maiores animi officiis fugit ullam doloremque deserunt aut laudantium. Optio reprehenderit et natus sapiente ut adipisci. Dolores voluptatem velit iste magni nihil quis.', '1986-08-17');
  22. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (14, 'Iure labore rem voluptatem sed eligendi et.', 'Beatae corrupti aspernatur recusandae. Blanditiis et deleniti impedit quo. At sit sed et eius nulla. Neque voluptate incidunt rem in.', 'Doloremque blanditiis earum ad. Aut voluptatem quis soluta dolorum eveniet. Earum quia optio commodi et in enim alias. Quasi consequatur suscipit et aut eaque nesciunt dolor id.', '2007-09-24');
  23. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (15, 'Necessitatibus voluptas cupiditate officiis voluptas.', 'Illum quis ut placeat blanditiis exercitationem. Ut rem natus consequatur numquam voluptas. Esse laborum rerum et eveniet possimus a sapiente aut. Consectetur recusandae cumque asperiores repellat numquam.', 'Ullam ad omnis eius quod atque debitis. Sint et odio provident. Non consequatur aut rerum odio ex tempore sit.', '2003-08-28');
  24. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (16, 'Doloribus non et velit et.', 'Omnis possimus tempore odit dolores eveniet sunt et. Sit corporis suscipit occaecati excepturi.', 'Quia repudiandae voluptas rerum vel quidem culpa ut. Dolor quis quibusdam dolorem ut magnam molestias. Perspiciatis neque iusto sed quod atque dolore facilis.', '1988-09-30');
  25. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (17, 'Adipisci eos nihil modi alias.', 'Adipisci a aliquid veniam qui. Autem neque quo non ratione accusantium qui et in. Est quis eos illum soluta deleniti odio.', 'Debitis saepe cum soluta doloremque commodi animi. Ducimus nihil est quis ut et sequi ipsa. Dolorem corrupti autem nobis explicabo et qui nemo.', '2004-05-16');
  26. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (18, 'Doloremque accusamus culpa est cupiditate delectus.', 'Ut magni voluptatem magni omnis error. Eum modi quia quis porro.', 'Dolores eos dolor enim blanditiis rem delectus sed. Voluptate dolorem qui provident qui esse adipisci animi. Qui velit saepe rem consequatur.', '2004-11-04');
  27. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (19, 'Omnis excepturi voluptatibus sed.', 'Incidunt animi occaecati mollitia atque aliquid iusto earum. Dolor dolorum nobis veritatis qui. Ipsum aut voluptatem dolor tenetur soluta. Repudiandae corrupti consectetur itaque minus sit.', 'Voluptatem dolore ut ipsam. Accusantium velit vero suscipit. Vitae odio est quibusdam mollitia officia. Ut mollitia vel quo est rerum.', '2006-12-20');
  28. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (20, 'Consequatur et qui ut eveniet.', 'Voluptate maiores tenetur qui aliquid et sint. Vero enim cumque possimus. Dolores ipsum dolorem quas mollitia. Dolore molestias dicta cupiditate pariatur ut ut rerum.', 'Nulla est facilis optio id temporibus. Cum dolores velit ut libero saepe. Deserunt consequatur non similique enim iusto doloremque asperiores.', '2009-08-04');
  29. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (21, 'Deserunt ea ducimus velit facilis quas et rerum soluta.', 'Quibusdam sit quos ut dolore sint. Totam sed ut quia. Ad temporibus accusantium nobis debitis deserunt atque repellendus pariatur.', 'Incidunt numquam ad molestiae quia. Incidunt officiis quidem vel veritatis dolores nemo asperiores. Unde ad neque error optio laboriosam magni.', '1998-04-09');
  30. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (22, 'Laborum sed officiis omnis impedit explicabo ut ut.', 'Qui tempore aspernatur quae. Harum qui et sed. Dolor alias sunt aut aperiam atque nesciunt. Quaerat repellendus voluptas error quae qui distinctio officia.', 'Dolor tempore corrupti fuga. Nihil consequatur incidunt tenetur rerum labore voluptas neque aperiam. Ex tempora necessitatibus est labore. Id in tempore est eum ea dolorem eligendi.', '1996-04-04');
  31. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (23, 'Id minima adipisci labore.', 'Numquam voluptas perferendis quo ut asperiores pariatur qui. Eaque enim occaecati ex ut. Maxime sapiente repellat dolore vitae. Doloribus beatae architecto voluptatem tempore incidunt aspernatur.', 'Assumenda hic est molestias et molestiae dolores eum. Consequuntur quos vero est. Et culpa in consectetur autem amet. Eius adipisci consequatur voluptatem omnis aut culpa temporibus.', '2018-10-14');
  32. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (24, 'Neque enim sint reiciendis dolores.', 'Doloremque dolorum quaerat ut qui qui quo non. Aut possimus expedita dolores neque officia enim. Pariatur vitae nesciunt quibusdam cumque. Voluptatem consectetur magni quis eveniet accusantium nulla.', 'Nam hic ullam vitae ad ut nobis. Omnis excepturi voluptate cum beatae qui odit. Dolorem ullam provident aliquam minus ut.', '1970-07-25');
  33. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (25, 'Impedit dolorum consequuntur mollitia maxime.', 'Eos quidem eum ullam numquam inventore. Blanditiis consequuntur ipsum dolorum consequatur ut numquam ut.', 'Voluptatibus laudantium et inventore sint sit. Architecto sunt fuga ad corporis nemo inventore. Ut sed ipsam quasi illum sed maxime sint voluptate.', '1974-01-14');
  34. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (26, 'Commodi blanditiis aspernatur est placeat.', 'Sit reprehenderit molestias enim a velit. Consequatur est tenetur iste delectus autem. Veritatis voluptas iste nihil voluptatibus quo et.', 'Id laboriosam illo nihil iusto. Sed libero dolorem quia ullam. Ut et delectus modi voluptatem ut nam praesentium a. Molestiae fugiat sunt harum dicta debitis quaerat.', '1982-09-11');
  35. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (27, 'Possimus repellat quo id et accusantium explicabo.', 'Aliquid est beatae ratione facilis dolores atque alias. Ea voluptatem corporis omnis. Quis ea deserunt velit eveniet aut ipsam. Reiciendis et aspernatur ullam enim magni.', 'Officiis quas ullam est exercitationem. Consequuntur est qui nam. Labore neque minus assumenda et consequatur. Fuga est non consequatur provident sed recusandae asperiores.', '2002-11-07');
  36. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (28, 'Quis aut natus omnis reprehenderit voluptatem.', 'Laborum nemo labore necessitatibus minus quis placeat quo officiis. Rerum aut voluptatem qui ea praesentium dicta. Neque id nam voluptatibus nostrum.', 'Nesciunt hic autem veniam. Rerum voluptas quae eligendi inventore voluptates. Ut laborum quod libero earum ut eos.', '2014-01-01');
  37. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (29, 'Veniam beatae mollitia dolorem.', 'Voluptatem ab porro reprehenderit dolor hic. Sed tempore sapiente quo sunt vel sapiente et. Aut veritatis qui aut recusandae optio. Voluptatum quod voluptates vel impedit sunt.', 'Quia sit quos amet ea ratione maiores. Facilis est et impedit quia sit non. Consectetur optio iure commodi optio unde voluptate. Veniam dolor ad illum.', '1994-11-12');
  38. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (30, 'Voluptatem in sit id aut quod dolores.', 'Unde autem exercitationem ullam odio alias occaecati est. Temporibus exercitationem eos quo perferendis cupiditate. Omnis amet et voluptate. Consectetur error voluptatem enim eos.', 'Praesentium ad qui qui aut culpa praesentium velit praesentium. Tempora voluptatibus porro quos architecto nemo.', '2017-02-01');
  39. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (31, 'Aspernatur ut ipsa dolore tempora expedita.', 'Non blanditiis modi unde provident. Temporibus magni sint tenetur omnis labore est. Voluptas corporis molestias quo sunt id ut. Illo et beatae sed autem quas. Ipsum enim fugit expedita a.', 'Nulla aut non sit vitae consequatur quos. Beatae animi et id aut dolores. Tempora voluptatem delectus quas laboriosam quam. Aspernatur molestias doloremque placeat aperiam.', '2014-09-14');
  40. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (32, 'Laborum adipisci magni ipsam nulla qui.', 'Doloribus est aut repellendus repellat. Ipsa quia dolorem illum quod doloribus aut. Sed numquam esse quisquam soluta optio dolorem. Eaque est architecto quas dolorem minima molestiae ipsam.', 'Iusto corrupti dolor pariatur autem cum. Aut ut dolores accusamus nostrum hic sit. Nam quia autem praesentium nihil.', '1984-02-23');
  41. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (33, 'Laudantium omnis exercitationem rerum expedita iure.', 'Ad vitae adipisci quidem. Quibusdam soluta mollitia aut doloremque ut quas. Et earum non dolore harum ipsum illum natus quae. Eaque enim explicabo enim error qui at sed.', 'Modi nostrum enim sed. Voluptas commodi exercitationem consequatur id. Et ut omnis est sunt est sint. Qui labore fugiat natus voluptatem vitae natus.', '1971-08-02');
  42. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (34, 'Sint autem voluptate molestiae.', 'Veritatis ea fuga labore dicta eum aut exercitationem et. Eligendi non tenetur aperiam sed. Quas ut similique reprehenderit aspernatur quia deleniti deleniti.', 'Est aut soluta ducimus minus. Laudantium aut ut dolor accusamus voluptatum fuga. Sint eum illum et qui. Non explicabo quidem consequuntur cumque error ipsa provident natus.', '2006-05-28');
  43. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (35, 'Est commodi a consectetur error odit cumque.', 'Aut dolores occaecati vel aspernatur quia. Vero dolorum est velit rem cum officiis. Sit temporibus sit quia voluptas eveniet unde qui. Laboriosam repudiandae non hic id. Sed consequatur ducimus fugiat.', 'Eum laudantium a accusamus rerum. Aut quia quibusdam corporis suscipit. Dignissimos atque laboriosam qui iste ea hic vel.', '1987-09-16');
  44. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (36, 'Quo quod nulla velit fugit molestiae quisquam inventore.', 'Praesentium quo consectetur repellendus ipsum qui amet. Et commodi nihil molestiae dolores facilis unde sint. Enim aut sunt et quasi delectus qui voluptas nisi. Qui magni expedita voluptatibus explicabo dolorem libero sunt.', 'Earum vel animi qui vitae ipsam excepturi. Sunt atque qui veritatis omnis deserunt ex. Et eos est labore qui dicta aperiam dolor.', '1990-06-11');
  45. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (37, 'Laboriosam inventore vel repellendus quia est.', 'Ab quam aspernatur id rem aut mollitia officiis. Voluptas atque quo quibusdam cumque. Ut autem aliquid similique dolorem.', 'Rem est debitis magni velit. Architecto consequatur fugit debitis veniam. Quia harum natus eaque eveniet quo.', '2018-08-31');
  46. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (38, 'Ut magni autem ipsa sequi.', 'Quasi hic hic autem dolor iure molestiae. Eum expedita facilis eum a est aliquam officia. Rerum enim velit optio incidunt quod ea officia sit.', 'Reprehenderit fugit eum ipsum. Enim quidem qui quia consequatur corporis iure autem. Maiores consequatur explicabo libero corporis.', '1983-09-15');
  47. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (39, 'Officia quisquam nihil et aut sint eius.', 'Veniam ullam vitae quis nobis veniam libero. Consequuntur aperiam repellendus laudantium et ut.', 'Ut consequatur magnam quia explicabo. Nulla amet voluptas et consequatur harum.', '2005-12-27');
  48. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (40, 'Sed atque ratione est perferendis.', 'Voluptas qui non quos optio nesciunt voluptas veniam. Velit est iste recusandae.', 'Minus dolores possimus similique. Vero repellendus rerum minima ex voluptas quia quos. Nisi vitae saepe nobis nostrum et.', '1995-06-04');
  49. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (41, 'Consectetur repudiandae esse et eligendi sapiente eveniet repellat sit.', 'Non qui minima dolore. Eius cum suscipit ea a non minima qui. Sapiente adipisci numquam quia amet. Ratione atque rerum explicabo provident eaque.', 'Ab eveniet sed id et ipsam. Tenetur doloremque et doloribus. Sit totam sequi voluptate qui praesentium iste aut.', '1978-04-17');
  50. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (42, 'Ratione quis cum voluptatem esse.', 'Et quia deserunt et laboriosam. Optio minima quia enim sed saepe quo. Facilis dolores saepe animi inventore sit. Tempora explicabo sapiente rerum quas accusamus sed.', 'Excepturi ex autem necessitatibus sed. Perspiciatis vitae autem autem ipsa corporis qui possimus. Ratione est labore dolorum labore labore recusandae. Omnis quis adipisci fugiat et.', '1990-05-02');
  51. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (43, 'Cupiditate eaque molestiae consectetur similique ut laboriosam nihil.', 'Sequi ex aut totam et adipisci blanditiis incidunt. Quae repellat reiciendis rerum quo non et. Minus molestias dolores impedit dolorum officiis consequatur.', 'Tempora nesciunt odit ipsa. Aut ut sint officia.\nSapiente quo quos omnis odio deserunt. Iure deserunt ut sed dolor et molestias quas. Non commodi eius cupiditate quo at error.', '2009-02-05');
  52. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (44, 'Eos voluptas aut aut et beatae autem.', 'Iusto rem aut aspernatur vero omnis maiores. Eius eius veritatis distinctio dolor. Temporibus aut et expedita est repellat quas excepturi. Quidem et sapiente et.', 'Et qui vel qui. Dolores rerum dicta possimus nesciunt ut eaque omnis. Pariatur vero molestiae natus odio harum ea qui.', '1998-07-20');
  53. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (45, 'Voluptatem quam non ea mollitia possimus illo.', 'Qui deserunt eum et. Autem sed voluptas maxime aliquid corporis quia beatae. Alias et eum omnis accusamus vero perferendis aspernatur omnis.', 'Est occaecati et expedita quisquam. Itaque distinctio reprehenderit odio qui voluptates. Voluptas et vel eos non inventore.', '1989-05-24');
  54. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (46, 'Quasi accusantium facere ipsam nihil.', 'Culpa nesciunt rem et velit. Vero aut aut debitis voluptatem. Fuga suscipit et in quod fugit possimus.', 'Placeat temporibus ad accusamus qui aliquam. Qui voluptatem nihil debitis voluptate. Quia aliquam adipisci unde aut dicta rem et.', '1976-10-07');
  55. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (47, 'Totam voluptas quidem culpa modi id minima corrupti voluptate.', 'Officiis enim ut veniam molestiae. Recusandae voluptatem quas ex sit velit voluptas. Quidem modi in repellat saepe omnis mollitia ex. Labore eligendi dolor ut distinctio veniam. Amet omnis repudiandae nulla odio quia.', 'Harum voluptate sint et aut quia voluptatem excepturi. Accusantium culpa voluptatum non sapiente doloribus. Est ratione in officia.', '2001-12-31');
  56. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (48, 'Rerum debitis qui tempora corrupti eaque eligendi hic enim.', 'Architecto dolore incidunt quam architecto. Quia aperiam ipsam sit. Ut nesciunt eaque quisquam et quaerat ea doloribus. Est aut sapiente qui.', 'Similique dolorum nisi sit odio consequatur eveniet facilis. Delectus est mollitia non saepe assumenda beatae. Est vel et provident quia corrupti.', '2007-06-21');
  57. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (49, 'Sequi autem error molestiae.', 'Amet perspiciatis temporibus ullam voluptatum sit molestias. Deserunt esse eum temporibus quasi aut voluptate. Sit placeat et nesciunt quis debitis qui est. Ipsum repellendus et assumenda impedit expedita et.', 'Eius ut rem ut voluptatem delectus labore ipsa. Error numquam ducimus temporibus autem consectetur.', '2008-04-12');
  58. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (50, 'Autem non officia et.', 'Rerum neque dolor quis fugit sapiente. Ut cum quaerat voluptatibus sed. Quia officiis sed necessitatibus tempore. Distinctio repudiandae minima cupiditate pariatur dolore alias.', 'Ex inventore occaecati aut delectus repellat. Saepe vel alias aut architecto. Saepe nihil molestiae voluptatibus sed vel quia nihil.', '1978-05-19');
  59. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (51, 'Fuga error molestias repudiandae voluptate illum rerum et voluptas.', 'Dolorem voluptas quia debitis minus sint. Velit ducimus doloremque perspiciatis fugiat blanditiis. Dolores voluptas nihil eos dolore aliquid ea.', 'Fugiat voluptates a rerum enim dolores. Ullam est et animi illum dolore est. Omnis hic quia doloremque perferendis architecto est laboriosam. Cum tenetur explicabo excepturi eveniet.', '2007-09-06');
  60. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (52, 'Et ipsum et libero non optio perferendis sint.', 'Dolor architecto id dolor qui optio. Eligendi vel dolorem commodi officia et. Iure ipsam praesentium labore qui et nulla.', 'Voluptas molestias sunt amet quis autem quaerat quia. Numquam repellat aut facilis suscipit. Qui voluptas est laudantium in consequuntur quam laborum.', '2006-10-23');
  61. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (53, 'Id ea commodi itaque aut voluptatum ex ab.', 'Voluptas nihil sed dignissimos est amet. Recusandae cum quaerat est necessitatibus illo. Exercitationem repellendus culpa quas fugiat quia tempore et.', 'Autem quidem ad voluptatibus laborum et voluptatem. Dolor ad reiciendis sint consequatur. Modi neque repudiandae in sequi. Rerum molestiae nihil facilis alias qui magnam impedit qui.', '1983-05-31');
  62. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (54, 'Omnis laudantium perferendis perspiciatis voluptatem consequatur sunt est.', 'Ad sed voluptatem sed labore omnis culpa. Consequatur nemo ducimus nihil non earum eos magni quia. Qui perspiciatis et omnis qui ut vel.', 'Quia suscipit nostrum nesciunt sed. Similique ratione at consectetur ipsa voluptatum et. Libero aliquid omnis cupiditate sint omnis modi. Nobis eius odio occaecati dolor fuga.', '2017-02-19');
  63. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (55, 'Voluptas voluptate labore similique consectetur.', 'Et velit iste esse fuga eum. Corrupti id adipisci qui provident voluptas culpa non. Voluptatem facere et in omnis unde cum culpa. Optio eum modi tenetur odit.', 'Eius enim sed est nesciunt placeat explicabo. Earum et voluptatum temporibus. Natus et exercitationem eum. Voluptas illo itaque officiis illum sapiente autem hic architecto.', '2018-10-17');
  64. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (56, 'Hic velit corporis numquam fugiat eos voluptatem.', 'Quia enim nemo officiis neque dolorem velit. Sed ut ad dolorem tempore explicabo. Perspiciatis iusto cupiditate dolore et provident. Voluptas quia sunt exercitationem voluptate error vel. Est molestiae praesentium quibusdam nihil vero fugiat.', 'Facilis et libero nisi expedita maxime iste accusamus. Sequi quo at eum. Sed ullam temporibus illo natus ea est. Saepe doloribus animi ducimus at aliquid ipsum.', '1994-09-03');
  65. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (57, 'Excepturi sit ratione nemo hic commodi ut.', 'Porro modi assumenda ad similique et corrupti sit. Amet nihil officiis odio nesciunt esse. Id in illo voluptate minima asperiores dolor sed.', 'At quisquam ut aut qui qui. Fugiat inventore tenetur et. Veniam doloribus voluptatibus culpa qui quae voluptatem.', '1978-09-28');
  66. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (58, 'Omnis animi quis minima aliquid voluptates.', 'Cumque nesciunt autem sint similique. Nam cum atque eum aliquam quae non ut incidunt. Nisi nulla assumenda similique dolores mollitia dignissimos. Et est dicta et saepe quia.', 'Illum earum rerum eum vero. Molestiae sunt exercitationem et. Et at voluptates sed tempora omnis veritatis.', '1985-03-28');
  67. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (59, 'Adipisci ex nobis perferendis voluptas.', 'Dolorum magni dolorem nobis porro voluptatem ut. Ea est sed ut voluptas. Libero rerum unde earum consequatur incidunt officia.', 'Iusto est quos iusto ipsam qui natus. Aspernatur qui expedita dicta ut.', '2018-09-12');
  68. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (60, 'Veritatis tenetur ut quis sed molestiae numquam.', 'Esse maiores voluptatem aut temporibus nihil. Odio est sint assumenda id atque nihil. Quas ex incidunt voluptatem nostrum nisi est.', 'Sed in ex neque velit et. Qui et accusantium sit nobis. Et fuga commodi sit voluptatem.', '2005-09-07');
  69. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (61, 'Voluptates corporis consequatur ut voluptatem quas repellendus.', 'Autem assumenda tempore rerum inventore. Laborum dolor ut architecto est et. Enim aut fuga quia sapiente qui corporis.', 'Quas dolorem fugit et sit nihil. Fuga qui aliquam ipsam quo officiis sit ut aliquam. Et corrupti pariatur quidem sed in.', '1985-08-13');
  70. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (62, 'Exercitationem accusamus possimus commodi accusamus.', 'Vitae ut ut culpa rerum. Corrupti pariatur quia voluptatibus. Amet quisquam sit voluptatum exercitationem eligendi accusantium. Aliquam facere quisquam accusamus.', 'Vel rem rerum nostrum corrupti. Sed rerum iure dolorem. Dignissimos et amet sunt.', '1983-08-24');
  71. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (63, 'In et magnam praesentium iusto omnis consequatur perferendis asperiores.', 'Sed repellat voluptatem est harum sit totam ut. Ea repellendus similique fugiat. Ut optio sed ut sunt.', 'Voluptatibus nihil maxime nisi facere nisi voluptatum. A nam nisi et quam aliquam illum facilis.', '2016-07-02');
  72. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (64, 'Fuga enim et voluptate consequatur.', 'Dolor consectetur quia odio qui cumque doloribus. Recusandae delectus impedit incidunt consequatur sit incidunt minus.', 'Incidunt illo dolorem molestias est dolores ullam aut. Sit molestias ut maxime cum. Sint esse dolor voluptas minus eum. Dolorem molestias sed eaque ratione.', '2005-02-22');
  73. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (65, 'Tenetur vero eligendi labore sint dolorum et ut.', 'Perferendis quisquam molestiae hic consequatur voluptatum sit id. Sed placeat eius ut et et unde at. Sit animi occaecati aut et quo dolorem eos. Minima quas aut voluptatem rerum voluptatum eos.', 'Rerum molestias inventore ut harum ullam. Perferendis dolorem illum quo autem. Maiores omnis soluta et tempore est.', '1970-02-23');
  74. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (66, 'Est harum sit unde dicta necessitatibus omnis.', 'Et quia velit assumenda inventore. Ut quas non dolorum nemo et a. Facere dolore et beatae fugiat. Totam est exercitationem consequatur et neque in atque alias.', 'Rerum quis nam veritatis quis aliquam. Repellendus error qui omnis ad eveniet dicta pariatur. Similique expedita veniam excepturi.', '2007-08-17');
  75. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (67, 'Incidunt rerum aut nulla libero.', 'Debitis omnis ea dignissimos rem consequatur laborum. Totam vero omnis inventore odio non itaque. Odit nemo inventore ea voluptas possimus.', 'Consequatur temporibus eius nesciunt dolores. Ut perferendis rerum itaque sequi delectus et hic qui.', '1975-01-06');
  76. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (68, 'Excepturi et nobis dolore a eveniet.', 'Consequatur ducimus laborum eaque dolores. Est repellat sapiente mollitia et deleniti veniam id. Odio officiis est consequatur et iure aut. Sit tenetur similique sit.', 'Quos maiores reiciendis aut adipisci nobis quaerat earum. Amet minus inventore tenetur maiores expedita ipsum qui.\nEst et atque ab dolor. Sunt deserunt rem quisquam quas cumque.', '1973-03-15');
  77. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (69, 'Ut accusantium in facere.', 'Ipsum nesciunt id omnis rerum animi neque. Deserunt qui quod perferendis dolorum quos sapiente eum. Ut aut eveniet vel esse. Iusto non nostrum et esse eligendi. Voluptatem nemo hic esse cum consequatur fugit.', 'Et velit modi adipisci veritatis voluptas repellat. Natus blanditiis voluptatem repellat velit amet harum. Beatae officiis vitae suscipit ex et facilis. Unde eligendi illo aliquid veniam.', '2007-01-17');
  78. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (70, 'Officia eum velit qui ut.', 'Doloribus laboriosam veniam saepe repellendus est vel iure. Qui occaecati corporis omnis magni blanditiis placeat. Porro facilis deleniti tempore quia.', 'Excepturi quam ut maxime soluta. Est in deleniti dolore cum. Aut qui corrupti est rerum. Commodi vero quia in.', '1992-01-03');
  79. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (71, 'Voluptates et impedit sint voluptatem et.', 'Vero illum deserunt recusandae temporibus error aut velit. Id qui illo consequuntur cupiditate amet. Sed temporibus error et deserunt. Perspiciatis atque corporis cumque autem dolorem laboriosam sunt. Enim tenetur tempora adipisci aut.', 'Omnis iste modi totam iure ut quam. Molestiae at est qui delectus quas asperiores quibusdam. Minima atque iure optio. Cupiditate nostrum corporis similique molestias libero minima earum.', '1991-12-29');
  80. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (72, 'Officia unde qui modi aliquid.', 'Aspernatur vel in beatae. Sed qui et est id. Sunt reiciendis officia qui ad qui.', 'Cumque alias quia dolor dolorem rerum. Aut ipsum ipsum ut velit debitis aut. Illo vel facilis voluptates. Nulla cumque non iure id consequatur.', '1979-10-28');
  81. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (73, 'Odio unde aut reprehenderit qui et veniam.', 'Commodi omnis reprehenderit quia quo iure sapiente dolores possimus. Quia rerum dolorum odit dolore tenetur qui. Porro repellat hic sit ducimus aspernatur nam aut totam. Explicabo eligendi possimus incidunt sed distinctio non assumenda.', 'Quis commodi necessitatibus numquam doloribus magnam dolor ut. Molestias fugit qui quaerat quis et. Nihil ipsum voluptatum error aperiam laborum sunt. Ab optio id ut placeat unde optio.', '1998-01-29');
  82. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (74, 'Aperiam debitis quia consectetur eligendi.', 'Sed expedita qui labore cum omnis et veniam qui. Dolor voluptatibus et odio enim. Pariatur velit sit ut. Placeat et ratione eveniet asperiores aut quos facere.', 'Dolores suscipit magni corporis exercitationem. Hic sed aliquid necessitatibus autem accusantium repudiandae. Sint similique reprehenderit quasi ut.', '2006-04-25');
  83. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (75, 'Nesciunt sapiente necessitatibus id quas.', 'Esse amet est corporis qui itaque voluptatum. Ut quaerat ut sed. Iste molestiae sunt sed iusto.', 'Et soluta qui ipsam sit molestiae soluta. Aperiam ipsum voluptatem suscipit molestias impedit. Est est iure quo quidem consequuntur qui.', '2016-11-21');
  84. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (76, 'Pariatur sint animi aliquam quia et accusantium sit.', 'Non laudantium velit tempora vel non voluptas distinctio earum. Unde est rerum debitis voluptatem vero natus qui. Facere perferendis totam magnam id nobis modi sit. Sint qui qui quis consequatur.', 'Eligendi animi dolores ea non. Quam recusandae tempore vel. Ducimus mollitia sit eum et modi ab. Et quo natus optio id.', '1985-04-21');
  85. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (77, 'Assumenda rerum facere voluptatem repellendus id ut itaque velit.', 'Eveniet id debitis aliquid quibusdam laborum ut incidunt. Maxime dolorem repellendus labore id incidunt. Itaque aut qui excepturi soluta quia.', 'Doloremque ullam ut est error fugiat optio eum. Ea dolore voluptas quia suscipit. Voluptatem consequatur eos expedita sint labore amet.', '1978-05-18');
  86. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (78, 'Eius earum dicta ut velit iste quo.', 'Quod quasi sunt est in et. Asperiores quibusdam vel rerum. Consequatur voluptate consequatur ut eos odio.', 'Earum qui rerum non sit alias amet odio libero. Consequatur possimus et in nulla. Mollitia velit ratione officia qui.', '2015-01-16');
  87. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (79, 'Quasi sed eligendi fuga.', 'Consequuntur quibusdam sunt quas et. Dicta sit aut dolor corrupti qui qui. Eos laborum cupiditate illum sint dolores et.', 'At rerum rem in soluta sapiente fuga nihil. Ipsum a odio consequatur aut. Esse modi laudantium voluptatem et quasi totam.', '1973-06-12');
  88. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (80, 'Enim atque quasi voluptatem quo labore.', 'Velit id nam enim. Ut saepe delectus amet possimus est ad assumenda. Nobis minima dolores velit consequatur. Sed corrupti numquam qui sed quia quia et eligendi.', 'Qui quod aut aliquid beatae. Placeat cupiditate nulla rem. Voluptates inventore in exercitationem architecto natus officiis. Iste amet sunt et reprehenderit sequi eaque minus.', '1976-10-10');
  89. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (81, 'Alias voluptatem reiciendis doloremque aut doloribus.', 'Maiores eius reiciendis fugit doloribus porro. Molestiae provident occaecati reprehenderit aperiam hic pariatur. Aut et sed quos vero expedita iste eveniet.', 'Est et non ut exercitationem vitae. In quo dignissimos molestiae et expedita distinctio sed quod. Voluptas voluptas quidem qui.', '1991-07-18');
  90. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (82, 'Nulla odit sit illo magni doloribus qui sint.', 'Ut ipsam ut qui et. Natus rerum maiores labore eligendi ut illo ea aut. Ut dignissimos voluptate eum ipsum. Beatae animi aut vel officia dolor eum. Est sed sapiente esse quae.', 'Quas voluptas dolorum quo laudantium omnis. Ab quam pariatur aut qui sunt. Necessitatibus omnis est autem et asperiores. Quia natus voluptates quaerat voluptate sequi accusantium.', '2003-08-30');
  91. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (83, 'Assumenda blanditiis architecto dolor aliquam.', 'Quo non voluptatem asperiores animi ex. Corporis sint dolores harum veritatis optio. Sit ratione doloribus quod ea quas at. Cum et amet esse deserunt corrupti hic animi. Repellendus quae quis minus adipisci ratione ea excepturi.', 'Earum qui sint repellendus minima quaerat. Aliquid corrupti delectus cupiditate deleniti quo occaecati et nostrum. Aut architecto et quis sed.', '1973-08-29');
  92. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (84, 'Velit et qui blanditiis ex explicabo beatae quo facilis.', 'Minima repudiandae a iusto ullam enim. Accusamus quisquam totam voluptate sint in totam. Eaque ullam maiores voluptatum soluta velit est adipisci.', 'Soluta ea eos doloremque facilis rerum eum in fuga. Nulla dicta natus officiis est sunt rerum expedita. Aut velit et sunt ratione iusto. Quo aut expedita quae ut sit.', '1980-01-08');
  93. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (85, 'Ab aut voluptatem praesentium quae facere.', 'Qui sed enim aliquid quia impedit voluptatibus. Et iste aut ullam nemo. Iste nihil et veritatis placeat iure eveniet doloremque. Aspernatur est sed perspiciatis eos neque tenetur eligendi non.', 'Nesciunt ut rerum modi sequi atque earum. Impedit et sint est labore aut eos. Et expedita a accusantium reprehenderit. Dolor laboriosam sit ad unde ut quidem doloremque.', '1995-08-07');
  94. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (86, 'At iste odit possimus eius fugiat.', 'Quibusdam et voluptas dolor explicabo neque consectetur. Amet voluptate dolore incidunt porro laborum. Cumque dicta rerum quo reprehenderit et. Id autem voluptatem vel voluptatum qui maxime non. Minima ipsum et alias voluptates dolores sint consequatur.', 'Ratione sint nesciunt qui voluptas reprehenderit et ratione. Consequatur officia numquam in ea corporis. Et laborum ea rerum.', '1978-09-17');
  95. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (87, 'Qui aspernatur rerum ab omnis.', 'Aut sequi nihil quis rerum explicabo non voluptates rerum. Necessitatibus eaque sunt ipsam ad. Non voluptatem perspiciatis vel aut non consequatur suscipit ut.', 'Repellendus ut et et debitis qui. Vitae ut omnis molestiae quisquam voluptates libero qui ut. Autem natus incidunt et mollitia sed.', '2013-07-14');
  96. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (88, 'Dolorum quia soluta repellendus.', 'Modi earum atque illo inventore nobis. Adipisci et aspernatur dolorum laudantium quod.', 'Dolore et aut consequatur at accusamus odio aut. Aut ut illum consectetur quisquam minima et. Veritatis magni animi qui fugiat.', '1998-07-02');
  97. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (89, 'Omnis ut aliquid autem laudantium molestiae officiis doloribus necessitatibus.', 'Ut molestiae voluptatem aliquid sequi id eos. Omnis odio voluptatem quia est dolor rerum. Dolore provident corporis dolores voluptatem. Et corrupti voluptatem error eum distinctio sint ea.', 'Ea omnis blanditiis iste deserunt. Et dolor dignissimos sint. Accusamus exercitationem eligendi saepe odio. Et quia eos quia rem reiciendis omnis sed.', '2008-11-15');
  98. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (90, 'Quas eaque facilis enim ut repudiandae.', 'Occaecati fuga velit ad aut itaque fugiat. Modi necessitatibus unde facilis illum dolorem. Molestiae doloribus officiis veniam. Qui earum repellendus consequatur possimus architecto eius nobis iste.', 'Quae a et autem ut. Dolores enim animi commodi rerum iure consequatur dolorem illum. Quidem rem debitis voluptatem ea rem voluptatem ratione.', '1999-07-18');
  99. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (91, 'Facilis voluptatum vero in dolorem qui.', 'Molestiae similique asperiores qui quo laudantium id. Ullam ea dolores et quos dolorum cum vel. Cum culpa occaecati autem ut unde ipsam. Modi quis in inventore molestiae deleniti velit. Quia sed neque natus ab id autem aut.', 'Et rerum architecto beatae. Beatae hic consectetur et qui odio sint. Aliquam ut quod minima provident qui velit.', '2002-03-29');
  100. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (92, 'Sit iure quibusdam sed aut quia consequuntur.', 'Facilis qui et eveniet iusto. Ullam incidunt ut tenetur temporibus sapiente animi suscipit distinctio.', 'Dolore ab velit earum est eos aliquam quisquam. Est ut blanditiis qui illo. Nihil eos atque officiis minima.', '2016-08-01');
  101. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (93, 'Magni error inventore illo molestiae.', 'Error asperiores rerum id et. Facilis est aut velit. Dolores assumenda et asperiores modi. Numquam mollitia enim inventore sit quia est delectus.', 'Dolores tempore et ipsam recusandae quaerat iure sed. Ad reprehenderit officiis blanditiis. Rerum eligendi harum qui voluptatem nostrum. Mollitia natus sed voluptatem dolor.', '1977-12-14');
  102. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (94, 'Suscipit non occaecati odit reprehenderit dolore.', 'Saepe adipisci quis corrupti aut blanditiis. Possimus eos ratione magni saepe et quibusdam. Quaerat voluptatibus illo inventore vel quo voluptatibus.', 'Ipsam voluptate ut deleniti et. Ut adipisci quisquam minus praesentium. Non autem ullam quas quidem a porro. Omnis neque incidunt animi ut magni et aut iste.', '2010-11-25');
  103. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (95, 'Eligendi delectus qui nostrum et voluptates odio sunt.', 'Praesentium nemo praesentium ipsa aut. Nam est non beatae non. Sit ut nam ipsum fugiat numquam consequatur qui. A est quo et corrupti in recusandae deserunt.', 'Voluptas beatae minus tempora quis inventore qui reprehenderit. Beatae ex ipsum voluptatibus consequatur. Quidem qui et labore consequatur voluptatem. Animi ipsam ut animi.', '2006-03-24');
  104. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (96, 'Ratione vel doloremque asperiores iure voluptates harum.', 'Voluptate non expedita et sit. Rem tempore consectetur voluptas odit similique. Qui id minima fuga sed voluptatem eos voluptas veniam.', 'Aut sapiente voluptatem voluptatum. Iusto quidem tenetur porro reprehenderit excepturi beatae. Aut dignissimos dolores voluptas sunt quis quos.', '1988-08-02');
  105. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (97, 'Ab numquam magni consequatur blanditiis beatae eos.', 'Molestiae delectus repudiandae veritatis asperiores sit sit officia et. Ducimus tenetur velit possimus odit. Quaerat est repudiandae laudantium non ea totam quia.', 'Consequatur voluptas omnis delectus quia delectus voluptas. Reprehenderit omnis quas repellendus vel dignissimos necessitatibus. Ullam cum mollitia qui accusamus.', '1978-12-09');
  106. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (98, 'Neque nisi iste eaque explicabo.', 'Iure dolor quis dolore architecto. Corporis est voluptatum assumenda. Quod sit magni id nostrum sint.', 'Consequatur dolore voluptatum asperiores a aut. Quia alias voluptatem dolores asperiores autem et. Quas pariatur et et non doloremque voluptates aliquid.', '2021-08-01');
  107. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (99, 'Dolores ut iure laborum odio.', 'Ab commodi impedit magni est optio dolor. Possimus ut voluptas tenetur voluptates nam. Possimus deleniti autem deserunt.', 'Provident exercitationem esse itaque saepe suscipit. A harum at aut minus iusto. Perspiciatis quo consequatur praesentium accusantium atque molestiae nihil.', '1991-11-04');
  108. INSERT INTO `posts` (`id`, `title`, `description`, `content`, `date`) VALUES (100, 'Dolorem rerum praesentium asperiores magnam dignissimos.', 'Officia blanditiis aliquid eos qui. Vel doloribus consequatur quos consequatur rerum mollitia.', 'Sequi in velit magni. Sed iusto quas laudantium aut aut fugiat aut. Distinctio est ducimus aut id debitis. Est eius consectetur consectetur.', '1997-11-16');

Creating the Database Connection

Next, create a new PHP File that contains the database connection. Copy/Paste the code below and save it as db_connect.php.

  1. <?php
  2. $host = 'localhost';
  3. $username = 'root';
  4. $password = '';
  5. $database = 'dummy_db';
  6. $conn = new mysqli($host, $username, $password, $database);
  7.  
  8. if (!$conn) {
  9. echo 'Cannot connect to database server';
  10. }
  11. ?>

Index File w/o the Pagination, Display Length, and Search

We will be creating the index file of the application from base at first which means the code below only shows the original interface and listing all the data from the database.

index.php
  1. <?php
  2. require_once('db_connect.php');
  3. ?>
  4. <!DOCTYPE html>
  5. <html lang="en">
  6. <head>
  7. <meta charset="UTF-8">
  8. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  9. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  10. <title>List Pagination, Display Length, and Search - PHP</title>
  11. <link rel="stylesheet" href="./assets/css/bootstrap.css">
  12. <!-- Custom Style Sheet -->
  13. <style>
  14. xmp{
  15. display:contents;
  16. }
  17. /* Active Pagination Button */
  18. .paginate-btns .active{
  19. background:var(--bs-cyan) !important;
  20. }
  21. /* Disabled Pagination Button */
  22. .paginate-btns [disabled]{
  23. background:#7171716e !important;
  24. pointer-events: none;
  25. cursor:not-allowed;
  26. opacity: .5;
  27. }
  28. /* Ellipsis Pagination Button */
  29. .paginate-btns .ellipsis{
  30. background:var(--bs-light) !important;
  31. pointer-events: none;
  32. cursor:not-allowed;
  33. }
  34. /* Higlight searched text */
  35. mark{
  36. padding:unset !important;
  37. background:yellow !important;
  38. }
  39. </style>
  40. <!-- End of Custom Style Sheet -->
  41. </head>
  42. <body>
  43. <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
  44. <div class="container-fluid">
  45. <a class="navbar-brand" href="https://sourcecodester.com">SourceCodester</a>
  46. </div>
  47. </nav>
  48. <div class="container">
  49. <h2 class="border-bottom border-dark">List Pagination, Display Length, and Search</h2>
  50. <span>Sample result of displaying the <b>Database Data</b> into the <b> HTML List (<code><xmp><ul></ul>/<ol></ol></xmp></code>)</b> using <b>PHP</b>.</span>
  51.  
  52. <div class="row justify-content-center">
  53. <div class="col-8 py-5">
  54. <h3 class="text-center border-bottom border-dark">Posts List</h3>
  55. <!-- List Data Block -->
  56. <ul class="list-group">
  57. <!-- Display List Item From Database-->
  58. <?php
  59. $qry = $conn->query("SELECT * FROM `posts` order by unix_timestamp(`date`) desc ");
  60. while($row = $qry->fetch_assoc()):
  61. ?>
  62. <li class="list-group-item my-2 border">
  63. <h3 class="border-bottom border-dark"><b><?php echo $row['title'] ?></b></h3>
  64. <small><i><?php echo $row['description'] ?></i></small>
  65. <hr class="border-light">
  66. <div class="w-100 d-flex justify-content-end">
  67. <small><span class="text-muted"><b>Date Published:</b> <?php echo date("M d, Y",strtotime($row['date'])) ?></span></small>
  68. </div>
  69. </li>
  70. <?php endwhile; ?>
  71. <!-- End if Display List Item From Database-->
  72.  
  73. <!-- No Data list item block-->
  74. <?php if($data_count <= 0): ?>
  75. <li class="text-center list-group-item my-2"><b>No data to show.</b></li>
  76. <?php endif; ?>
  77. <!--End of No Data list item block-->
  78. </ul>
  79. <!-- End List Data Block -->
  80. </div>
  81. </div>
  82. </div>
  83. </body>
  84. <script type="text/javascript" src="./assets/js/jquery-3.6.0.js"></script>
  85. <script type="text/javascript" src="./assets/js/bootstrap.js"></script>
  86. </html>

Main Functions Scripts

First, we will create the Pagination Feature. Add/Paste the code below before the Posts List Block.

  1. <?php
  2. // Current Page Value
  3. $page = isset($_GET['page']) ? $_GET['page'] - 1 : 0;
  4.  
  5. // Current Display Entry Length
  6. $length = (isset($_GET['length']))? $_GET['length'] : 3 ;
  7.  
  8. // Search value
  9. $search = isset($_GET['search']) ? $_GET['search'] : '';
  10.  
  11. // Search query where clause :: Execute only when search keyword exists
  12. $search_where = "";
  13. if(!empty($search)){
  14. $search_where = " where title LIKE '%{$search}%' OR description LIKE '%{$search}%' ";
  15. }
  16. // Total data row count in the database
  17. $data_count = $conn->query("SELECT * FROM `posts` {$search_where}")->num_rows;
  18.  
  19. // Number of page buttons
  20. $page_btn_count = ($data_count > 0 && intval($length )> 0) ? ceil($data_count / $length) : 1;
  21.  
  22. // Setting up pagination query :: uses OFFSET and LIMIT clauses
  23. $offset = ($page > 0 && $length > 0) ? $page * $length : 0;
  24. $paginate = "";
  25. if(intval($length) >0)
  26. $paginate = " LIMIT {$length} OFFSET {$offset} ";
  27.  
  28. // Data Query :: Fetching Query of data from database
  29. $sql = "SELECT * FROM `posts` {$search_where} order by unix_timestamp(`date`) desc {$paginate}";
  30.  
  31. // Setting up url $_GET Data if display length and search keyword is set.
  32. $with_length = (isset($_GET['length']))? "&length=".$_GET['length'] : '';
  33. $with_search = (isset($_GET['search']))? "&search=".$_GET['search'] : '';
  34. ?>

Replace SQL Query to:

  1. <?php
  2. $qry = $conn->query($sql);

Next, add the pagination buttons after the list.

  1. <!-- Pagination Buttons Block -->
  2. <div class="w-100">
  3. <div class="btn-group paginate-btns">
  4. <!-- Previous Page Button -->
  5. <a class="btn btn-default btn-sm border border-dark" <?php echo ($page == 0)? 'disabled' :'' ?> href="./?page=<?php echo ($page).$with_length.$with_search ?>">Prev.</a>
  6. <!-- End of Previous Page Button -->
  7. <!-- Pages Page Button -->
  8.  
  9. <!-- looping page buttons -->
  10. <?php for($i = 1; $i <= $page_btn_count; $i++): ?>
  11. <!-- Display button blocks -->
  12.  
  13. <!-- Limiting Page Buttons -->
  14. <?php if($page_btn_count > 10): ?>
  15. <!-- Show ellipisis button before the last Page Button -->
  16. <?php if($i == $page_btn_count && !in_array($i, range( ($page - 3), ($page + 3) ) )): ?>
  17. <a class="btn btn-default btn-sm border border-dark ellipsis">...</a>
  18. <?php endif; ?>
  19.  
  20. <!-- Show ellipisis button after the First Page Button -->
  21. <?php if($i == 1 || $i == $page_btn_count || (in_array($i, range( ($page - 3), ($page + 3) ) )) ): ?>
  22. <a class="btn btn-default btn-sm border border-dark <?php echo ($i == ($page + 1)) ? 'active' : ''; ?>" href = "./?page=<?php echo $i.$with_length.$with_search ?>"><?php echo $i; ?></a>
  23. <?php if($i == 1 && !in_array($i, range( ($page - 3), ($page + 3) ) )): ?>
  24. <a class="btn btn-default btn-sm border border-dark ellipsis">...</a>
  25. <?php endif; ?>
  26. <?php endif; ?>
  27. <?php else: ?>
  28. <a class="btn btn-default btn-sm border border-dark <?php echo ($i == ($page + 1)) ? 'active' : ''; ?>" href = "./?page=<?php echo $i.$with_length.$with_search ?>"><?php echo $i; ?></a>
  29. <?php endif; ?>
  30. <!-- Display button blocks -->
  31. <?php endfor; ?>
  32. <!-- End of looping page buttons -->
  33.  
  34. <!-- End of Pages Page Button -->
  35. <!-- Next Page Button -->
  36. <a class="btn btn-default btn-sm border border-dark" <?php echo (($page+1) == $page_btn_count)? 'disabled' :'' ?> href="./?page=<?php echo ($page+2).$with_length.$with_search ?>">Next</a>
  37. <!-- End of Next Page Button -->
  38. </div>
  39. </div>
  40. <!-- End Pagination Buttons Block -->

Next, displaying the Display Entry Length and Search block. Paste the following code before the posts ul block.

  1. <div class='d-flex justify-content-between'>
  2. <!-- Display Entries Length Select/Dropdown Block-->
  3. <div>
  4. <label for="" class="control-label">Display Entries</label>
  5. <select id="length" class="custom-select mx-2" onchange="location.replace('./?length='+this.value)">
  6. <option <?php echo (isset($_GET['length']) && $_GET['length'] == 3) ? 'selected' : '' ?>>3</option>
  7. <option <?php echo (isset($_GET['length']) && $_GET['length'] == 10) ? 'selected' : '' ?>>10</option>
  8. <option <?php echo (isset($_GET['length']) && $_GET['length'] == 50) ? 'selected' : '' ?>>50</option>
  9. <option <?php echo (isset($_GET['length']) && $_GET['length'] == 100) ? 'selected' : '' ?>>100</option>
  10. <option <?php echo (isset($_GET['length']) && $_GET['length'] == 'All') ? 'selected' : '' ?>>All</option>
  11. </select>
  12. </div>
  13. <!-- End Display Entries Length Select/Dropdown Block-->
  14. <!-- Search Block -->
  15. <div class="d-flex">
  16. <label for="" class="control-label">Search</label>
  17. <input type="text" id="search" value="<?php echo $search ?>" class="form-control form-control-sm mx-2 rounded-0">
  18. <div class="btn-group">
  19. <button type="button" class="btn btn-sm btn-default border-dark rounded-0" onclick="location.replace('./?search='+document.getElementById('search').value)">Search</button>
  20. <button type="button" class="btn btn-sm btn-default border-dark rounded-0" onclick="location.replace('./')">X</button>
  21. </div>
  22. </div>
  23. <!-- End of Search Block -->
  24. </div>

Lastly, the code below is the script that highlights the Searched Keywords in the list. Enclose the following code in a <script type="text/javascript"></script> tag.

  1. $(function(){
  2. // Highlight the Searched keyword
  3. if('<?php echo $search ?>' != ''){
  4. $('ul li').each(function(){
  5. var reg = new RegExp('(<?php echo $search ?>)','gi');
  6. var new_html = ($(this).html()).replace(reg,'<mark>$1</mark>');
  7. $(this).html(new_html)
  8. })
  9.  
  10. }
  11. })

Results Snapshots

Pagination Buttons

List Pagination Result

Display Entrise Lenght

List Pagination Result

Search Box

List Pagination Result

Overall Interface Result

List Pagination Result

Tutorial DEMO Video

There you go. You have now a simple HTML Listing Data from the database with Pagination, Display Entries Length, and Search Feature. If an error occurred on your end, please review your source code. You can also download the working source code that I created for this tutorial. Just simply click the Download Button below.

And that's the end of this tutorial. I hope this will help you with what you are looking for and you'll find this useful for your future PHP projects.

Enjoy Coding :)

Add new comment