logo

Extra Block Types (EBT) - New Layout Builder experienceâť—

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

âť—Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

Blog

PHP Lessons - Lesson 3.4 - Working with MySQL DB. DELETE Deletion Queries.

16/04/2025, by Ivan

In the previous lesson, we learned how to add new methods to our management class simpleCMS. Now let’s add one more method to delete a record: delete().

We’ll add the method as usual:

public function delete($mid) {
    
}

As you can see, we pass a parameter $mid – the ID of our record. If you recall the previous lesson, we used a different approach to pass the parameter via a GET request. This time we’ll try passing the parameter another way.

PHP Lessons - Lesson 3.5 - Working with MySQL DB. JOIN operator. Uploading files to the server.

16/04/2025, by Ivan

Before I started writing this lesson, I thought for a long time about the best way to present queries using the JOIN operator. The point is that the JOIN operator is used to retrieve data from multiple tables at once. And since we need another table, let's create one. I suggest creating a table for files, which we will upload through a form in this lesson. This way, the lesson will combine two directions: working with databases and working with forms.

PHP Lessons - Lesson 3.6 - Working with MySQL DB. Types of JOIN operator.

16/04/2025, by Ivan

In MySQL, JOIN queries can be written in several different ways. We'll try to cover all of them. Here's a list of JOIN query types:

  1. INNER JOIN
  2. LEFT JOIN
  3. LEFT JOIN without matches in the right table
  4. RIGHT JOIN
  5. RIGHT JOIN without matches in the left table
  6. FULL OUTER JOIN
  7. FULL OUTER JOIN where the left or right table is empty

Here’s an illustration of these types of JOINs:

SQL

PHP Lessons - Lesson 4 - Working with Images, GD2 Library

16/04/2025, by Ivan

In the previous lessons, we learned how to write database queries, so now we'll focus less on writing queries and more on practicing them. We'll also combine writing queries with learning other PHP features, starting with image processing. In one of the previous lessons, we already uploaded files and even created a Files table for uploaded files. Now, let’s upload images to the same table. But first, we need to add a photo upload field to the content creation form.

1.2. What will be in our CMS

16/04/2025, by Ivan

After reviewing existing commerce sites, we need to define the functionality of our future CMS. Obviously, we need to allow users to find and view products in various categories. Users should be able to order these products by adding them to the cart and going through the checkout process, filling in order details to calculate shipping, payment, and taxes. We will also build an admin panel for managing orders and products. Below is a detailed list of all features:

Products

We need to implement the following functionality for products:

1.3. Building our PHP framework

16/04/2025, by Ivan

There are many different ways to construct a framework. Some people prefer very complex frameworks, while others prefer very simple ones. In our articles, we’re going to quickly build a framework that is easy to use and easy to understand.

Our articles will help you develop your own framework, different from the one we’re building for an online store. You’ll be able to easily add other parts to the framework to create something bigger. The main goal of this article series is to teach you how to build your own framework for any CMS.

1.4. Let's start writing an MVC framework

16/04/2025, by Ivan

We’ve described in enough detail what our framework should include, and now it’s time to implement it. First, you need a web server. You can try using Denwer, but you might need to upgrade PHP.

You can download Denwer with PHP 5.5.20 from this page:

https://drupalbook.org/ru/drupal/denwer-obnovlenie-php

or from GitHub:

https://github.com/levmyshkin/denwer-php-5.5.20

1.5. Connecting classes for working with the database and templates

15/04/2025, by Ivan

We’ve created a structure for our framework, and now it’s time to think about storing data: news, products. The object for working with the database should be able to:

  • Manage the connection to the database
  • Provide a lightweight abstraction over the database
  • Cache queries
  • Make common database operations easier

To do this, we will create the object at Registry/objects/db.class.php: