<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Gilles Migliori</title>
    <description>The latest articles on DEV Community by Gilles Migliori (@miglisoft).</description>
    <link>https://dev.to/miglisoft</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F185861%2Fd8d6b68d-559d-4791-8a15-8ae7cdec011b.jpeg</url>
      <title>DEV Community: Gilles Migliori</title>
      <link>https://dev.to/miglisoft</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/miglisoft"/>
    <language>en</language>
    <item>
      <title>Create your CRUD Application in PHP</title>
      <dc:creator>Gilles Migliori</dc:creator>
      <pubDate>Tue, 09 Dec 2025 06:58:25 +0000</pubDate>
      <link>https://dev.to/miglisoft/create-your-crud-application-in-php-1l9d</link>
      <guid>https://dev.to/miglisoft/create-your-crud-application-in-php-1l9d</guid>
      <description>&lt;h2&gt;
  
  
  Create, Read, Update, Delete - manage your MySQL / PDO Database
&lt;/h2&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/td7ry2A0h5M"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction &amp;amp; Prerequisites
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;PHP CRUD Generator&lt;/strong&gt; is a powerful web application that allows to build Bootstrap CRUD Admin dashboards in PHP using an online User Interface.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you need to get started:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A project based on a MySQL / PDO database&lt;/li&gt;
&lt;li&gt;A PHP Server (PHP 7.x, PHP 8.x)&lt;/li&gt;
&lt;li&gt;Buy PHP CRUD Generator at a ridiculous price that will save you weeks of hard work&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;This startup tutorial will teach you the basics, and allows you to quickly &lt;strong&gt;create your Bootstrap CRUD Admin Dashboard without programming&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Once you have understood the basics and started using &lt;em&gt;PHP CRUD Generator&lt;/em&gt;, you will see that it is still simple and intuitive and will probably discover its wide range of features by yourself:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;how to display dates and times?&lt;/li&gt;
&lt;li&gt;how to use file and image uploads?&lt;/li&gt;
&lt;li&gt;how to protect access to the admin with a login and password?&lt;/li&gt;
&lt;li&gt;how to manage users and rights?&lt;/li&gt;
&lt;li&gt;how to customize and organize the sidebar?&lt;/li&gt;
&lt;li&gt;etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Although all these operations are always easy to achieve (usually just select your options in the generator, or click on the button corresponding to what you are looking for), you will find a &lt;a href="https://www.phpcrudgenerator.com/tutorials" rel="noopener noreferrer"&gt;tutorial for each step&lt;/a&gt; in creating your Bootstrap CRUD Admin.&lt;/p&gt;

&lt;p&gt;Here's an overview of the type of CRUD Admin Dashboard that PHP CRUD Generator will build from your database:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo8e0q6hhxp37ghg0lrvy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo8e0q6hhxp37ghg0lrvy.png" alt="CRUD Admin Dashboard screenshot" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bootswatch themes are included and the user interface can be customized as desired.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvo7dy8k7k3pjk2t8a894.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvo7dy8k7k3pjk2t8a894.png" alt="The admin dashboard design can be customized with Bootswatch themes" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  How to create your PHP CRUD Application
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Upload the &lt;em&gt;required*&lt;/em&gt; folders on your server as described &lt;a href="https://www.phpcrudgenerator.com/documentation/index#quick-start" rel="noopener noreferrer"&gt;in the documentation&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Open the installer - &lt;code&gt;/install/do-install.php&lt;/code&gt; in your browser and follow the install process.&lt;/strong&gt;&lt;br&gt;
You'll need to enter your purchase code and your database connection informations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Open the CRUD Generator - &lt;code&gt;/php-crud-generator/generator/generator.php&lt;/code&gt; in your browser&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The application has automatically detected your database and all its components: tables, fields, field types and relationships.&lt;br&gt;
You can therefore see your tables in the drop-down list&lt;/p&gt;

&lt;p&gt;Choose the 1st table for which you want to create CRUD operations in the drop-down list and validate your choice.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7vrofxtpk3xwvyn4j9zs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7vrofxtpk3xwvyn4j9zs.png" alt="Choose your table to build CRUD operations" width="596" height="218"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Select **one of the three available tabs&lt;/strong&gt; to generate the pages and forms of your Bootstrap CRUD Admin**&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqn8kbj57sk81w1p6fivj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqn8kbj57sk81w1p6fivj.png" alt="ChoosSelect an action" width="800" height="239"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Build READ List: Generates the paginated data table&lt;/li&gt;
&lt;li&gt;Build Create / Update Forms: Generates the add / edit forms for the records&lt;/li&gt;
&lt;li&gt;Build Delete Forms: Generates the deletion form&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The pages and forms of your administration are available and functional as you create them.&lt;/p&gt;

&lt;p&gt;You can go to your Admin Panel at any time, test the features, then return to the generator and modify again the options of your choice if you want to make any changes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;php crud generator makes your bootstrap admin 100% scalable.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The smart system stores all your settings.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can rebuild each element of your Admin Dashboard at will.&lt;/p&gt;

&lt;p&gt;You can also modify the structure of your database, add or delete tables, fields, relationships, and then regenerate the different parts of your Bootstrap Dashboard.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Your CRUD Admin Dashboard is ready&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can now use your Admin Dashboard to manage your database using the available CRUD operations.&lt;/p&gt;

&lt;p&gt;The necessary plugins and functionalities have been automatically integrated:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;calendars&lt;/li&gt;
&lt;li&gt;date translation&lt;/li&gt;
&lt;li&gt;sorting functions&lt;/li&gt;
&lt;li&gt;filters and data search&lt;/li&gt;
&lt;li&gt;export to Excel or CSV format&lt;/li&gt;
&lt;li&gt;printing&lt;/li&gt;
&lt;li&gt;file upload&lt;/li&gt;
&lt;li&gt;images with resizing and thumbnails&lt;/li&gt;
&lt;li&gt;etc...&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;A demo and full documentation are available on the &lt;a href="https://www.phpcrudgenerator.com/admin/home" rel="noopener noreferrer"&gt;PHP CRUD website&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Fast, efficient support guaranteed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reviews on major platforms
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://sourceforge.net/software/product/PHP-CRUD-Generator/?pk_campaign=badge&amp;amp;pk_source=vendor" rel="noopener noreferrer"&gt;&lt;img alt="PHP CRUD Generator Reviews" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fb.sf-syn.com%2Fbadge_img%2F3426015%2Ftop-performer-spring-white%3Fachievement%3Dtop-performer-seasonal-2023-spring%26variant_id%3Dsf%26r%3Dhttps%3A%2F%2Fwww.phpcrudgenerator.com%2Fabout" width="371" height="371"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://sourceforge.net/software/product/PHP-CRUD-Generator/?pk_campaign=badge&amp;amp;pk_source=vendor" rel="noopener noreferrer"&gt;&lt;img alt="PHP CRUD Generator Reviews" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fb.sf-syn.com%2Fbadge_img%2F3426015%2Flight-default%3F%26variant_id%3Dsf%26r%3Dhttps%3A%2F%2Fwww.phpcrudgenerator.com%2Fabout" width="124" height="142"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.capterra.com/p/186868/PHP-CRUD-Generator/reviews/" rel="noopener noreferrer"&gt; &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.capterra.com%2Fbadge%2F15f0a66bcd63a8ecc45b947326a1d047.svg%3Fv%3D2130734%26p%3D186868" alt="Capterra reviews badge" width="278" height="91"&gt; &lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.getapp.com/business-intelligence-analytics-software/a/php-crud-generator/reviews/" rel="noopener noreferrer"&gt; &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.getapp.com%2Fext%2Freviews_widget%2Fv1%2Fdark%2Fphp-crud-generator-application" alt="Getapp reviews" width="800" height="400"&gt; &lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fb.sf-syn.com%2Fbadge_img%2F3426015%2Fusers-love-us-new-white%3F%26variant_id%3Dsd%26r%3Dhttps%3A%2F%2Fwww.phpcrudgenerator.com%2Fabout" class="article-body-image-wrapper"&gt;&lt;img alt="PHP CRUD Generator Reviews" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fb.sf-syn.com%2Fbadge_img%2F3426015%2Fusers-love-us-new-white%3F%26variant_id%3Dsd%26r%3Dhttps%3A%2F%2Fwww.phpcrudgenerator.com%2Fabout" width="322" height="361"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>database</category>
      <category>php</category>
      <category>backend</category>
    </item>
    <item>
      <title>PowerLite PDO: A Powerful PHP Database Abstraction Layer</title>
      <dc:creator>Gilles Migliori</dc:creator>
      <pubDate>Mon, 15 Apr 2024 17:17:18 +0000</pubDate>
      <link>https://dev.to/miglisoft/powerlite-pdo-a-powerful-php-database-abstraction-layer-39n7</link>
      <guid>https://dev.to/miglisoft/powerlite-pdo-a-powerful-php-database-abstraction-layer-39n7</guid>
      <description>&lt;p&gt;&lt;strong&gt;PowerLite PDO&lt;/strong&gt; is a PHP library that provides an efficient way to interact with multiple types of databases&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this project?
&lt;/h2&gt;

&lt;p&gt;PHP's PDO (PHP Data Objects) extension is a powerful tool for interacting with databases. However, its syntax can be verbose and cumbersome, especially for complex queries. While popular PHP frameworks like Laravel and Symfony offer their own Database Abstraction Layers (DBAL), these are often tightly coupled with the rest of the framework. If you're not using these frameworks, or if you prefer a more lightweight solution, you're left to deal with PDO's verbosity.&lt;/p&gt;

&lt;p&gt;There are many standalone DBAL packages available, but finding a high-quality, well-maintained library can be a challenge. That's where PowerLite PDO comes in.&lt;/p&gt;

&lt;h2&gt;
  
  
  Introducing PowerLite PDO
&lt;/h2&gt;

&lt;p&gt;PowerLite PDO is a PHP library that provides a lightweight and powerful abstraction layer for PDO. It's designed with a clear separation of concerns in mind, and it uses Dependency Injection (DI) to manage dependencies between different parts of the system.&lt;/p&gt;

&lt;p&gt;The library is organized into three main components:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Db&lt;/strong&gt;: The main interface for interacting with the database. It handles connection management, query execution, and result processing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;QueryBuilder&lt;/strong&gt;: Used to build SQL queries in a flexible and extensible way.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pagination&lt;/strong&gt;: Handles pagination of query results.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;To start using PowerLite PDO, you first need to enter your database connection parameters in the &lt;code&gt;connection.php&lt;/code&gt; file. Then, you load the Dependency Injection (DI) container, which will provide you with instances of &lt;code&gt;Db&lt;/code&gt;, &lt;code&gt;QueryBuilder&lt;/code&gt;, and &lt;code&gt;Pagination&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Migliori\PowerLitePdo\Db&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nv"&gt;$container&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;require_once&lt;/span&gt; &lt;span class="k"&gt;__DIR__&lt;/span&gt; &lt;span class="mf"&gt;.&lt;/span&gt; &lt;span class="s1"&gt;'/../src/bootstrap.php'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nv"&gt;$db&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$container&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Db&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now you can start using the &lt;code&gt;Db&lt;/code&gt;, &lt;code&gt;QueryBuilder&lt;/code&gt;, and &lt;code&gt;Pagination&lt;/code&gt; classes to interact with your database.&lt;/p&gt;

&lt;h2&gt;
  
  
  Using the Db Class
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;Db&lt;/code&gt; class is your main interface with the database. Here's a simple example of how to use it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Migliori\PowerLitePdo\Db&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// Load the DI container&lt;/span&gt;
&lt;span class="nv"&gt;$container&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;require_once&lt;/span&gt; &lt;span class="k"&gt;__DIR__&lt;/span&gt; &lt;span class="mf"&gt;.&lt;/span&gt; &lt;span class="s1"&gt;'/../src/bootstrap.php'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// Get an instance of the Db class from the container&lt;/span&gt;
&lt;span class="nv"&gt;$db&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$container&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Db&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// Set up the query parameters&lt;/span&gt;
&lt;span class="nv"&gt;$from&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'users'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// The table name&lt;/span&gt;
&lt;span class="nv"&gt;$fields&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'id'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'name'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'email'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt; &lt;span class="c1"&gt;// The columns you want to select&lt;/span&gt;
&lt;span class="nv"&gt;$where&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'status'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'active'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt; &lt;span class="c1"&gt;// The conditions for the WHERE clause&lt;/span&gt;

&lt;span class="c1"&gt;// Execute the query&lt;/span&gt;
&lt;span class="nv"&gt;$db&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;select&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$from&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$fields&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$where&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// Fetch the results&lt;/span&gt;
&lt;span class="nv"&gt;$records&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[];&lt;/span&gt;
&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$record&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$db&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$records&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$record&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt; &lt;span class="mf"&gt;.&lt;/span&gt; &lt;span class="s1"&gt;', '&lt;/span&gt; &lt;span class="mf"&gt;.&lt;/span&gt; &lt;span class="nv"&gt;$record&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="mf"&gt;.&lt;/span&gt; &lt;span class="s1"&gt;', '&lt;/span&gt; &lt;span class="mf"&gt;.&lt;/span&gt; &lt;span class="nv"&gt;$record&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;email&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The Db class has taken care of preparing and executing the query in a safe and efficient way, using PDO's prepared statements. It has also fetched the results and returned them to you in a convenient format.&lt;/p&gt;

&lt;p&gt;Others methods are available in the &lt;code&gt;Db&lt;/code&gt; class for executing different types of queries, such as &lt;code&gt;insert&lt;/code&gt;, &lt;code&gt;update&lt;/code&gt;, and &lt;code&gt;delete&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Here are a few quick examples:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Insert a new record&lt;/span&gt;
&lt;span class="nv"&gt;$db&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;insert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'users'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'name'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'John Doe'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'email'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'john@doe.email.com'&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;

&lt;span class="c1"&gt;// Update an existing record with id = 1&lt;/span&gt;
&lt;span class="nv"&gt;$db&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;update&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'users'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'email'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'john@doe.email.com'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'id'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;

&lt;span class="c1"&gt;// Delete a record with id = 1&lt;/span&gt;
&lt;span class="nv"&gt;$db&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nb"&gt;delete&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'users'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'id'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Building Queries with QueryBuilder
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;QueryBuilder&lt;/code&gt; class provides another way to build and execute queries, for those who prefer a fluent and flexible syntax.&lt;/p&gt;

&lt;p&gt;Here's an example of how to use the &lt;code&gt;QueryBuilder&lt;/code&gt; class:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Migliori\PowerLitePdo\QueryBuilder&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// Load the DI container&lt;/span&gt;
&lt;span class="nv"&gt;$container&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;require_once&lt;/span&gt; &lt;span class="k"&gt;__DIR__&lt;/span&gt; &lt;span class="mf"&gt;.&lt;/span&gt; &lt;span class="s1"&gt;'/../src/bootstrap.php'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// Get an instance of the QueryBuilder class from the container&lt;/span&gt;
&lt;span class="nv"&gt;$queryBuilder&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$container&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;QueryBuilder&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// Build and execute a SELECT query&lt;/span&gt;
&lt;span class="nv"&gt;$queryBuilder&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;select&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="s1"&gt;'id'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'name'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'email'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
    &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;from&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'users'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;where&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'status'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'active'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;orderBy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'name'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'ASC'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;limit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;offset&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;execute&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="c1"&gt;// Fetch the results&lt;/span&gt;
&lt;span class="nv"&gt;$records&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[];&lt;/span&gt;
&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$record&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$queryBuilder&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$records&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$record&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt; &lt;span class="mf"&gt;.&lt;/span&gt; &lt;span class="s1"&gt;', '&lt;/span&gt; &lt;span class="mf"&gt;.&lt;/span&gt; &lt;span class="nv"&gt;$record&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="mf"&gt;.&lt;/span&gt; &lt;span class="s1"&gt;', '&lt;/span&gt; &lt;span class="mf"&gt;.&lt;/span&gt; &lt;span class="nv"&gt;$record&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;email&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Paginating Results with Pagination
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;Pagination&lt;/code&gt; class helps you paginate the results of your queries. Here's for instance how you can use it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Migliori\PowerLitePdo\Db&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nv"&gt;$container&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;require_once&lt;/span&gt; &lt;span class="k"&gt;__DIR__&lt;/span&gt; &lt;span class="mf"&gt;.&lt;/span&gt; &lt;span class="s1"&gt;'/../src/bootstrap.php'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nv"&gt;$pagination&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$container&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Pagination&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// Set the pagination options for URL rewriting&lt;/span&gt;
&lt;span class="nv"&gt;$pagination&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;setOptions&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
    &lt;span class="s1"&gt;'querystring'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;''&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="s1"&gt;'rewriteLinks'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="s1"&gt;'rewriteTransition'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'-'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="s1"&gt;'rewriteExtension'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'.html'&lt;/span&gt;
&lt;span class="p"&gt;]);&lt;/span&gt;

&lt;span class="nv"&gt;$from&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'users'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// The SELECT FROM clause&lt;/span&gt;
&lt;span class="nv"&gt;$fields&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'id'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'username'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'email'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt; &lt;span class="c1"&gt;// The columns you want to select&lt;/span&gt;
&lt;span class="nv"&gt;$where&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'status'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'active'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt; &lt;span class="c1"&gt;// The conditions for the WHERE clause&lt;/span&gt;

&lt;span class="nv"&gt;$pagination&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;select&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$from&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$fields&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$where&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nv"&gt;$records2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[];&lt;/span&gt;
&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$record&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$db&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$records2&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$record&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt; &lt;span class="mf"&gt;.&lt;/span&gt; &lt;span class="s1"&gt;', '&lt;/span&gt; &lt;span class="mf"&gt;.&lt;/span&gt; &lt;span class="nv"&gt;$record&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;username&lt;/span&gt; &lt;span class="mf"&gt;.&lt;/span&gt; &lt;span class="s1"&gt;', '&lt;/span&gt; &lt;span class="mf"&gt;.&lt;/span&gt; &lt;span class="nv"&gt;$record&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;email&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nv"&gt;$url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'/examples/pagination-examples'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// The URL for the pagination links&lt;/span&gt;
&lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$pagination&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;pagine&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$url&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;Pagination&lt;/code&gt; class will take care of paginating the results and generating the pagination links for you.&lt;/p&gt;

&lt;p&gt;It generates the HTML markup for the pagination links, which you can then output in your view. Of course, you can customize the pagination markup (which is built with a simple unordered list) to fit your needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features of PowerLite PDO
&lt;/h2&gt;

&lt;p&gt;The examples above show just a few of the features of PowerLite PDO, but there's much more you can do with this library.&lt;/p&gt;

&lt;p&gt;Here are some of the main features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Dependency Injection (DI)&lt;/strong&gt;: The library uses DI to manage dependencies between different parts of the system, making it easy to swap out components or extend functionality.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Safe Query Execution&lt;/strong&gt;: The &lt;code&gt;Db&lt;/code&gt; class uses PDO's prepared statements to execute queries safely, protecting against SQL injection attacks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Query Building&lt;/strong&gt;: The &lt;code&gt;QueryBuilder&lt;/code&gt; class provides a fluent and flexible way to build SQL queries, making it easy to construct complex queries with ease.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Pagination&lt;/strong&gt;: The &lt;code&gt;Pagination&lt;/code&gt; class helps you paginate the results of your queries, generating pagination links and handling the logic of fetching the correct subset of results.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Customization&lt;/strong&gt;: The library is designed to be extensible and customizable, so you can easily add new features or modify existing ones to fit your needs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Performance&lt;/strong&gt;: PowerLite PDO is designed for performance, with efficient query execution and result processing to minimize overhead and maximize speed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security&lt;/strong&gt;: The library follows best practices for database security, using prepared statements and other techniques to protect against common security vulnerabilities.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Flexibility&lt;/strong&gt;: The library is designed to be flexible and adaptable, so you can use it with different types of databases and adapt it to your specific requirements.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ease of Use&lt;/strong&gt;: The library is designed to be easy to use, with a simple and intuitive API that makes it easy to get started and start building queries right away.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Debugging&lt;/strong&gt;: The library provides a global and a local debug mode that allow to see the queries that are being executed and the parameters that are being passed to them.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Error Handling&lt;/strong&gt;: The library provides detailed error messages and exceptions to help you debug and troubleshoot any issues that arise.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Documentation&lt;/strong&gt;: The library comes with comprehensive documentation and examples to help you get started and learn how to use its features effectively.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Active Development&lt;/strong&gt;: The library is actively maintained and updated, with new features and improvements added regularly.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Learn More
&lt;/h2&gt;

&lt;p&gt;For more detailed information and examples, visit the &lt;a href="https://www.powerlitepdo.com" rel="noopener noreferrer"&gt;PowerLite PDO website&lt;/a&gt; and check out the &lt;a href="https://github.com/migliori/power-lite-pdo" rel="noopener noreferrer"&gt;GitHub repository&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>database</category>
      <category>php</category>
      <category>opensource</category>
      <category>github</category>
    </item>
    <item>
      <title>Create your CRUD Application in PHP</title>
      <dc:creator>Gilles Migliori</dc:creator>
      <pubDate>Fri, 08 Dec 2023 11:38:50 +0000</pubDate>
      <link>https://dev.to/miglisoft/create-your-crud-application-in-php-4kae</link>
      <guid>https://dev.to/miglisoft/create-your-crud-application-in-php-4kae</guid>
      <description>&lt;h2&gt;
  
  
  Create, Read, Update, Delete - manage your MySQL / PDO Database
&lt;/h2&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/td7ry2A0h5M"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction &amp;amp; Prerequisites
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;PHP CRUD Generator&lt;/strong&gt; is a powerful web application that allows to build Bootstrap CRUD Admin dashboards in PHP using an online User Interface.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you need to get started:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A project based on a MySQL / PDO database&lt;/li&gt;
&lt;li&gt;A PHP Server (PHP 7.x, PHP 8.x)&lt;/li&gt;
&lt;li&gt;Buy PHP CRUD Generator at a ridiculous price that will save you weeks of hard work&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;This startup tutorial will teach you the basics, and allows you to quickly &lt;strong&gt;create your Bootstrap CRUD Admin Dashboard without programming&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Once you have understood the basics and started using &lt;em&gt;PHP CRUD Generator&lt;/em&gt;, you will see that it is still simple and intuitive and will probably discover its wide range of features by yourself:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;how to display dates and times?&lt;/li&gt;
&lt;li&gt;how to use file and image uploads?&lt;/li&gt;
&lt;li&gt;how to protect access to the admin with a login and password?&lt;/li&gt;
&lt;li&gt;how to manage users and rights?&lt;/li&gt;
&lt;li&gt;how to customize and organize the sidebar?&lt;/li&gt;
&lt;li&gt;etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Although all these operations are always easy to achieve (usually just select your options in the generator, or click on the button corresponding to what you are looking for), you will find a &lt;a href="https://www.phpcrudgenerator.com/tutorials" rel="noopener noreferrer"&gt;tutorial for each step&lt;/a&gt; in creating your Bootstrap CRUD Admin.&lt;/p&gt;

&lt;p&gt;Here's an overview of the type of CRUD Admin Dashboard that PHP CRUD Generator will build from your database:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo8e0q6hhxp37ghg0lrvy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo8e0q6hhxp37ghg0lrvy.png" alt="CRUD Admin Dashboard screenshot" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bootswatch themes are included and the user interface can be customized as desired.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvo7dy8k7k3pjk2t8a894.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvo7dy8k7k3pjk2t8a894.png" alt="The admin dashboard design can be customized with Bootswatch themes" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  How to create your PHP CRUD Application
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Upload the &lt;em&gt;required*&lt;/em&gt; folders on your server as described &lt;a href="https://www.phpcrudgenerator.com/documentation/index#quick-start" rel="noopener noreferrer"&gt;in the documentation&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Open the installer - &lt;code&gt;/install/do-install.php&lt;/code&gt; in your browser and follow the install process.&lt;/strong&gt;&lt;br&gt;
You'll need to enter your purchase code and your database connection informations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Open the CRUD Generator - &lt;code&gt;/php-crud-generator/generator/generator.php&lt;/code&gt; in your browser&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The application has automatically detected your database and all its components: tables, fields, field types and relationships.&lt;br&gt;
You can therefore see your tables in the drop-down list&lt;/p&gt;

&lt;p&gt;Choose the 1st table for which you want to create CRUD operations in the drop-down list and validate your choice.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7vrofxtpk3xwvyn4j9zs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7vrofxtpk3xwvyn4j9zs.png" alt="Choose your table to build CRUD operations" width="596" height="218"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Select **one of the three available tabs&lt;/strong&gt; to generate the pages and forms of your Bootstrap CRUD Admin**&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqn8kbj57sk81w1p6fivj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqn8kbj57sk81w1p6fivj.png" alt="ChoosSelect an action" width="800" height="239"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Build READ List: Generates the paginated data table&lt;/li&gt;
&lt;li&gt;Build Create / Update Forms: Generates the add / edit forms for the records&lt;/li&gt;
&lt;li&gt;Build Delete Forms: Generates the deletion form&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The pages and forms of your administration are available and functional as you create them.&lt;/p&gt;

&lt;p&gt;You can go to your Admin Panel at any time, test the features, then return to the generator and modify again the options of your choice if you want to make any changes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;php crud generator makes your bootstrap admin 100% scalable.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The smart system stores all your settings.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can rebuild each element of your Admin Dashboard at will.&lt;/p&gt;

&lt;p&gt;You can also modify the structure of your database, add or delete tables, fields, relationships, and then regenerate the different parts of your Bootstrap Dashboard.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Your CRUD Admin Dashboard is ready&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can now use your Admin Dashboard to manage your database using the available CRUD operations.&lt;/p&gt;

&lt;p&gt;The necessary plugins and functionalities have been automatically integrated:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;calendars&lt;/li&gt;
&lt;li&gt;date translation&lt;/li&gt;
&lt;li&gt;sorting functions&lt;/li&gt;
&lt;li&gt;filters and data search&lt;/li&gt;
&lt;li&gt;export to Excel or CSV format&lt;/li&gt;
&lt;li&gt;printing&lt;/li&gt;
&lt;li&gt;file upload&lt;/li&gt;
&lt;li&gt;images with resizing and thumbnails&lt;/li&gt;
&lt;li&gt;etc...&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;A demo and full documentation are available on the &lt;a href="https://www.phpcrudgenerator.com/admin/home" rel="noopener noreferrer"&gt;PHP CRUD website&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Fast, efficient support guaranteed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reviews on major platforms
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://sourceforge.net/software/product/PHP-CRUD-Generator/?pk_campaign=badge&amp;amp;pk_source=vendor" rel="noopener noreferrer"&gt;&lt;img alt="PHP CRUD Generator Reviews" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fb.sf-syn.com%2Fbadge_img%2F3426015%2Ftop-performer-spring-white%3Fachievement%3Dtop-performer-seasonal-2023-spring%26variant_id%3Dsf%26r%3Dhttps%3A%2F%2Fwww.phpcrudgenerator.com%2Fabout" width="371" height="371"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://sourceforge.net/software/product/PHP-CRUD-Generator/?pk_campaign=badge&amp;amp;pk_source=vendor" rel="noopener noreferrer"&gt;&lt;img alt="PHP CRUD Generator Reviews" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fb.sf-syn.com%2Fbadge_img%2F3426015%2Flight-default%3F%26variant_id%3Dsf%26r%3Dhttps%3A%2F%2Fwww.phpcrudgenerator.com%2Fabout" width="124" height="142"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.capterra.com/p/186868/PHP-CRUD-Generator/reviews/" rel="noopener noreferrer"&gt; &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.capterra.com%2Fbadge%2F15f0a66bcd63a8ecc45b947326a1d047.svg%3Fv%3D2130734%26p%3D186868" alt="Capterra reviews badge" width="800" height="400"&gt; &lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.getapp.com/business-intelligence-analytics-software/a/php-crud-generator/reviews/" rel="noopener noreferrer"&gt; &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.getapp.com%2Fext%2Freviews_widget%2Fv1%2Fdark%2Fphp-crud-generator-application" alt="Getapp reviews" width="800" height="400"&gt; &lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fb.sf-syn.com%2Fbadge_img%2F3426015%2Fusers-love-us-new-white%3F%26variant_id%3Dsd%26r%3Dhttps%3A%2F%2Fwww.phpcrudgenerator.com%2Fabout" class="article-body-image-wrapper"&gt;&lt;img alt="PHP CRUD Generator Reviews" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fb.sf-syn.com%2Fbadge_img%2F3426015%2Fusers-love-us-new-white%3F%26variant_id%3Dsd%26r%3Dhttps%3A%2F%2Fwww.phpcrudgenerator.com%2Fabout" width="322" height="361"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>database</category>
      <category>php</category>
      <category>crud</category>
    </item>
    <item>
      <title>Universal Icon Picker</title>
      <dc:creator>Gilles Migliori</dc:creator>
      <pubDate>Sun, 06 Mar 2022 05:21:47 +0000</pubDate>
      <link>https://dev.to/miglisoft/universal-icon-picker-2o1l</link>
      <guid>https://dev.to/miglisoft/universal-icon-picker-2o1l</guid>
      <description>&lt;p&gt;&lt;a href="https://github.com/migliori/universal-icon-picker" rel="noopener noreferrer"&gt;https://github.com/migliori/universal-icon-picker&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Javascript Icon Picker for any icon library
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Main Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Load any icon library from a single JSON file&lt;/li&gt;
&lt;li&gt;Load the icon fonts stylesheets from local files or CDNs&lt;/li&gt;
&lt;li&gt;Autoload the icon fonts (JSON + stylesheets) or load them only on request&lt;/li&gt;
&lt;li&gt;Add as many icon libraries as you like to each instance of the plugin&lt;/li&gt;
&lt;li&gt;Create multiple instances and triggers on the same page&lt;/li&gt;
&lt;li&gt;Change the icon libraries attached to an instance whenever you want&lt;/li&gt;
&lt;li&gt;Group icons of the same family by categories&lt;/li&gt;
&lt;li&gt;Load one or more styles from the same icon family individually&lt;/li&gt;
&lt;li&gt;Search / Filter icons&lt;/li&gt;
&lt;li&gt;Built-in &lt;code&gt;onSelect()&lt;/code&gt; and &lt;code&gt;onReset()&lt;/code&gt; callback functions&lt;/li&gt;
&lt;li&gt;Attach the Icon Picker to any HTML element&lt;/li&gt;
&lt;li&gt;Add your favourite icon libraries very easily&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Integrated icon libraries
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Font Awesome
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;All&lt;/li&gt;
&lt;li&gt;Solid&lt;/li&gt;
&lt;li&gt;Regular&lt;/li&gt;
&lt;li&gt;Brands&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Material Icons
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Filled&lt;/li&gt;
&lt;li&gt;Outlined&lt;/li&gt;
&lt;li&gt;Round&lt;/li&gt;
&lt;li&gt;Sharp&lt;/li&gt;
&lt;li&gt;Two-tone&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Other icon libraries
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Bootstrap Icons&lt;/li&gt;
&lt;li&gt;Elegant Icons&lt;/li&gt;
&lt;li&gt;Feather Icons&lt;/li&gt;
&lt;li&gt;Foundation Icons&lt;/li&gt;
&lt;li&gt;Happy Icons&lt;/li&gt;
&lt;li&gt;Icomoon&lt;/li&gt;
&lt;li&gt;Open-iconic&lt;/li&gt;
&lt;li&gt;Tabler Icons&lt;/li&gt;
&lt;li&gt;Weather Icons&lt;/li&gt;
&lt;li&gt;Zondicons&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Universal Icon Picker&lt;/em&gt; is free and open-source - License GNU GPLv3&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>iconpicker</category>
      <category>opensource</category>
      <category>github</category>
    </item>
    <item>
      <title>New Universal Icon Picker Javascript plugin on Github</title>
      <dc:creator>Gilles Migliori</dc:creator>
      <pubDate>Fri, 25 Feb 2022 08:16:38 +0000</pubDate>
      <link>https://dev.to/miglisoft/new-universal-icon-picker-javascript-plugin-on-github-2b1l</link>
      <guid>https://dev.to/miglisoft/new-universal-icon-picker-javascript-plugin-on-github-2b1l</guid>
      <description>&lt;h2&gt;
  
  
  Universal Icon Picker Vanilla JS plugin
&lt;/h2&gt;

&lt;p&gt;This plugin can load any icon library and comes with many popular ones like Fontawesome, Material icons, Bootstrap icons, Iconic, Tabler icons and many others.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faqtjoogwzpgv1q5hx7cv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faqtjoogwzpgv1q5hx7cv.png" alt="Javascript icon picker plugin screenshot" width="564" height="474"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Online demo: &lt;a href="https://www.universal-icon-picker.miglisoft.com" rel="noopener noreferrer"&gt;https://www.universal-icon-picker.miglisoft.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Github repo: &lt;a href="https://github.com/migliori/universal-icon-picker" rel="noopener noreferrer"&gt;https://github.com/migliori/universal-icon-picker&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Main features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Load any icon library from a single JSON file&lt;/li&gt;
&lt;li&gt;Load the icon fonts stylesheets from local files or CDNs&lt;/li&gt;
&lt;li&gt;Autoload the icon fonts (JSON + stylesheets) or load them only on request&lt;/li&gt;
&lt;li&gt;Add as many icon libraries as you like to each instance of the plugin&lt;/li&gt;
&lt;li&gt;Create multiple instances and triggers on the same page&lt;/li&gt;
&lt;li&gt;Change the icon libraries attached to an instance whenever you want&lt;/li&gt;
&lt;li&gt;Group icons of the same family by categories&lt;/li&gt;
&lt;li&gt;Load one or more styles from the same icon family individually&lt;/li&gt;
&lt;li&gt;Search / Filter icons&lt;/li&gt;
&lt;li&gt;Built-in onSelect() and onReset() callback functions&lt;/li&gt;
&lt;li&gt;Attach the Icon Picker to any HTML element&lt;/li&gt;
&lt;li&gt;Add your favourite icon libraries very easily&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Comments &amp;amp; suggestions are always welcome&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Tinymce Bootstrap plugin now for Tinymce 5 + Bootstrap 4</title>
      <dc:creator>Gilles Migliori</dc:creator>
      <pubDate>Thu, 02 Jan 2020 17:45:33 +0000</pubDate>
      <link>https://dev.to/miglisoft/tinymce-bootstrap-plugin-now-for-tinymce-5-bootstrap-4-2of9</link>
      <guid>https://dev.to/miglisoft/tinymce-bootstrap-plugin-now-for-tinymce-5-bootstrap-4-2of9</guid>
      <description>&lt;h1&gt;
  
  
  Bootstrap 4 toolbar for tinymce 5
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa12jsily9kr6c1fmynz9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa12jsily9kr6c1fmynz9.png" alt="Alt Text" width="615" height="440"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Transform Tinymce into a complete Bootstrap 4 content editor.
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpxz2ihogt59wpc0htvae.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpxz2ihogt59wpc0htvae.png" alt="Alt Text" width="548" height="126"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Bootstrap toolbar provides the ability to add/edit bootstrap components and code snippets:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Button&lt;/li&gt;
&lt;li&gt;Icon&lt;/li&gt;
&lt;li&gt;Image&lt;/li&gt;
&lt;li&gt;Table&lt;/li&gt;
&lt;li&gt;Template&lt;/li&gt;
&lt;li&gt;Breadcrumb&lt;/li&gt;
&lt;li&gt;Pagination&lt;/li&gt;
&lt;li&gt;Badge&lt;/li&gt;
&lt;li&gt;Alert&lt;/li&gt;
&lt;li&gt;Card&lt;/li&gt;
&lt;li&gt;Any Custom Snippet&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The plugin demo is available here: &lt;a href="https://www.tinymce-bootstrap-plugin.com/demo/index" rel="noopener noreferrer"&gt;https://www.tinymce-bootstrap-plugin.com/demo/index&lt;/a&gt;&lt;/p&gt;

</description>
      <category>tinymce</category>
      <category>bootstrap</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Database Admin Panel Generator</title>
      <dc:creator>Gilles Migliori</dc:creator>
      <pubDate>Tue, 25 Jun 2019 10:35:08 +0000</pubDate>
      <link>https://dev.to/miglisoft/bootstrap-admin-panel-generator-2b7c</link>
      <guid>https://dev.to/miglisoft/bootstrap-admin-panel-generator-2b7c</guid>
      <description>&lt;p&gt;Hi everybody,&lt;/p&gt;

&lt;h2&gt;
  
  
  Here's a revolutionary web application to manage your CRUD operations
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.phpcrudgenerator.com" rel="noopener noreferrer"&gt;PHP CRUD Generator&lt;/a&gt;&lt;/strong&gt; is an easy-to-use &lt;strong&gt;graphical web application&lt;/strong&gt; that consists of two main parts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The CRUD Generator&lt;/strong&gt;, that analyzes your MySQL database and lets you build your administration panel with a very simple and convenient user panel.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Admin Panel&lt;/strong&gt;, a fully featured administration system built with Bootstrap, jQuery, PHP and MySQL that lets you manage your content from your database.
PHP CRUD Generator provides you with powerful administration tools for all types of projects: e-commerce websites, portfolios, products and data management, as well as presentation of all types of data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The official site offers a &lt;a href="https://www.phpcrudgenerator.com/tutorials" rel="noopener noreferrer"&gt;CRUD Tutorial page&lt;/a&gt;, where you can find the guides to get started quickly&lt;/p&gt;

&lt;p&gt;PHP CRUD Generator builds the Bootstrap control panel for your website from your MYSQL database using a simple and easy-to-use UI.&lt;/p&gt;

&lt;p&gt;This CRUD/PHP system will allow you to save enormous amounts of time and build a fully featured and powerful Bootstrap / jQuery administration panel for you in a couple of clicks from your MySQL database.&lt;/p&gt;

&lt;p&gt;PHP CRUD Generator is intended for any website owner or web administrator using a MySQL database.&lt;br&gt;
It is not essential to know how to code, it is a graphical application that has a user interface.&lt;/p&gt;

</description>
      <category>php</category>
      <category>crud</category>
      <category>bootstrap</category>
      <category>database</category>
    </item>
  </channel>
</rss>
