PHPackages                             bitshost/upmvc-crud - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Admin Panels](/categories/admin)
4. /
5. bitshost/upmvc-crud

ActiveProject[Admin Panels](/categories/admin)

bitshost/upmvc-crud
===================

Building a Simple PHP CRUD Application with JavaScript Confirmation

26PHP

Since Nov 25Pushed 2y ago1 watchersCompare

[ Source](https://github.com/BitsHost/UpMVC-CRUD)[ Packagist](https://packagist.org/packages/bitshost/upmvc-crud)[ RSS](/packages/bitshost-upmvc-crud/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Building a Simple PHP CRUD Application with JavaScript Confirmation In this tutorial, we'll walk through the process of creating a basic PHP CRUD (Create, Read, Update, Delete) application. Additionally, we'll integrate a JavaScript confirmation dialog to ensure a user's intent before performing a delete operation.

Demo:

Composer Install:
-----------------

[](#composer-install)

### composer require bitshost/upmvc-crud

[](#composer-require-bitshostupmvc-crud)

### composer create-project --prefer-dist --stability=dev bitshost/upmvc-crud yourfolder

[](#composer-create-project---prefer-dist---stabilitydev-bitshostupmvc-crud-yourfolder)

Prerequisites Before getting started, make sure you have the following:

A web server (e.g., Apache) installed on your machine. PHP installed. Basic knowledge of HTML, PHP, and JavaScript. Project Structure Here's the directory structure of our project:

[![upMVC - fileStructure](https://private-user-images.githubusercontent.com/23263143/284554635-6bda03c9-2e5d-4e1f-884e-0f0082090d13.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQwMTQwMjAsIm5iZiI6MTc3NDAxMzcyMCwicGF0aCI6Ii8yMzI2MzE0My8yODQ1NTQ2MzUtNmJkYTAzYzktMmU1ZC00ZTFmLTg4NGUtMGYwMDgyMDkwZDEzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIwVDEzMzUyMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTI0ZmUwNjkxZGM1NTZkNmU0NjNiOGUzM2U0ZmI1MTA1NWZkZjkzMDg1MzExYmYzZWQxNjU4ODBlMWFiMGExYWMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.oDBavppvXDKNoiwgVgTO7pqiy4FF8eBOTAqZ9n3iqds)](https://private-user-images.githubusercontent.com/23263143/284554635-6bda03c9-2e5d-4e1f-884e-0f0082090d13.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQwMTQwMjAsIm5iZiI6MTc3NDAxMzcyMCwicGF0aCI6Ii8yMzI2MzE0My8yODQ1NTQ2MzUtNmJkYTAzYzktMmU1ZC00ZTFmLTg4NGUtMGYwMDgyMDkwZDEzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIwVDEzMzUyMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTI0ZmUwNjkxZGM1NTZkNmU0NjNiOGUzM2U0ZmI1MTA1NWZkZjkzMDg1MzExYmYzZWQxNjU4ODBlMWFiMGExYWMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.oDBavppvXDKNoiwgVgTO7pqiy4FF8eBOTAqZ9n3iqds)Step 1: Setting Up the Project Create the project directory structure as shown above. Set up your web server to point to the public directory.

Step 2: Creating the Database Use the provided data.sql file to create a simple users table in your MySQL database. Adjust the database configuration in src/Models/UserModel.php accordingly.

Step 3: Implementing CRUD Operations Create: Implement the logic for adding a new user in CrudController.php. Read: Fetch and display users in a paginated manner in CrudController.php and CrudView.php. Update: Implement the logic for updating user information in CrudController.php. Delete: Implement the logic for deleting a user in CrudController.php and add a confirmation dialog using JavaScript in script.js.

Step 4: Paginating the User List In CrudController.php and CrudView.php, add pagination to display a limited number of users per page.

Step 5: Making the Delete Confirmation Specific In script.js, modify the confirmDeletion function to respond only to buttons with a specific class (e.g., delete-button).

Conclusion Congratulations! You've successfully built a PHP CRUD application with JavaScript confirmation for delete operations. This project serves as a foundation that you can extend and enhance based on your specific requirements.

Feel free to customize the application further, add user authentication, and integrate more advanced features to meet the needs of your project.

Happy coding!

###  Health Score

14

—

LowBetter than 2% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity20

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/6e95d09248edfabcc4249fd709cc0cae5eb0e979e75961a1d217ce95243bccf8?d=identicon)[bitshost](/maintainers/bitshost)

---

Top Contributors

[![BitsHost](https://avatars.githubusercontent.com/u/23263143?v=4)](https://github.com/BitsHost "BitsHost (16 commits)")

---

Tags

crudcrud-applicationcrud-mvcmvcmvc-architecturephp

### Embed Badge

![Health badge](/badges/bitshost-upmvc-crud/health.svg)

```
[![Health](https://phpackages.com/badges/bitshost-upmvc-crud/health.svg)](https://phpackages.com/packages/bitshost-upmvc-crud)
```

###  Alternatives

[jeroennoten/laravel-adminlte

Easy AdminLTE integration with Laravel

4.0k4.8M43](/packages/jeroennoten-laravel-adminlte)[dmstr/yii2-adminlte-asset

AdminLTE backend theme asset bundle for Yii 2.0 Framework

1.1k1.8M67](/packages/dmstr-yii2-adminlte-asset)[dwij/laraadmin

LaraAdmin is a Open source Laravel Admin Panel / CMS which can be used as Admin Backend, Data Management Tool or CRM boilerplate for Laravel with features like CRUD Generation, Module Manager, Media, Menus, Backups and much more

1.6k68.7k](/packages/dwij-laraadmin)[filament/spatie-laravel-media-library-plugin

Filament support for `spatie/laravel-medialibrary`.

1764.8M125](/packages/filament-spatie-laravel-media-library-plugin)[bezhansalleh/filament-exceptions

A Simple &amp; Beautiful Pluggable Exception Viewer for FilamentPHP's Admin Panel

193195.9k13](/packages/bezhansalleh-filament-exceptions)[filament/infolists

Easily add beautiful read-only infolists to any Livewire component.

1220.8M36](/packages/filament-infolists)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
