PHP Classes

PHP CRUD Application: Show how to create a simple CRUD application

Recommend this page to a friend!
     
  Info   Example   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Last Updated Ratings Unique User Downloads Download Rankings
2023-12-17 (10 months ago) RSS 2.0 feedNot enough user ratingsTotal: 161 All time: 8,954 This week: 43Up
Version License PHP version Categories
crudbook 1.0.0MIT/X Consortium ...5PHP 5, Databases, Design Patterns, Ap...
Description 

Author

This package can show how to create a simple CRUD application.

It provides a base class that can access a MySQL database using the MySQLi extension.

Several CRUD classes use the base class to execute SQL queries to perform several CRUD operations.

Picture of Rodrigo Faustino
  Performance   Level  
Name: Rodrigo Faustino <contact>
Classes: 27 packages by
Country: Brazil Brazil
Age: 41
All time rank: 2505173 in Brazil Brazil
Week rank: 1 Up
Innovation award
Innovation award
Nominee: 17x

Winner: 2x

Example

<?php
require_once ("class/DBController.php");
require_once (
"class/Estudante.php");
require_once (
"class/Presenca.php");
require_once (
"class/Autenticacao.php");
$db_handle = new DBController();
if (!empty(
$_GET["action"])) {
   
$action = $_GET["action"];
}else{
   
$action ="action=presenca";
}
switch (
$action) {
    case
"presenca-add":
        if (isset(
$_POST['add'])) {
           
$presenca = new Presenca();
           
$presenca_timestamp = strtotime($_POST["data_presenca"]);
           
$presenca_date = date("Y-m-d", $presenca_timestamp);
            if(!empty(
$_POST["estudante_id"])) {
               
$presenca->deletePresencaData($presenca_date);
                foreach(
$_POST["estudante_id"] as $k=> $estudante_id) {
                   
$present = 0;
                   
$absent = 0;
                    if(
$_POST["presenca-$estudante_id"] == "presenca") {
                       
$present = 1;
                    }
                    else if(
$_POST["presenca-$estudante_id"] == "falta") {
                       
$absent = 1;
                    }
                   
$presenca->addPresenca($presenca_date, $estudante_id, $present, $absent);
                }
            }
           
header("Location: index.php?action=presenca");
        }
       
$estudante = new Estudante();
       
$estudanteResult = $estudante->getAllEstudante();
        require_once
"web/presenca-add.php";
        break;
    case
"presenca-edit":
       
$presenca_date = $_GET["data"];
       
$presenca = new presenca();
        if (isset(
$_POST['add'])) {
           
$presenca->deletePresencaData($presenca_date);
            if(!empty(
$_POST["estudante_id"])) {
                foreach(
$_POST["estudante_id"] as $k=> $estudante_id) {
                   
$present = 0;
                   
$absent = 0;
                   
                    if(
$_POST["presenca-$estudante_id"] == "presenca") {
                       
$present = 1;
                    }
                    else if(
$_POST["presenca-$estudante_id"] == "falta") {
                       
$absent = 1;
                    }
                   
                   
$presenca->addPresenca($presenca_date, $estudante_id, $present, $absent);
                }
            }
           
header("Location: index.php?action=presenca");
        }
       
$result = $presenca->getPresencaData($presenca_date);
       
$estudante = new estudante();
       
$estudanteResult = $estudante->getAllEstudante();
        require_once
"web/presenca-edit.php";
        break;
    case
"presenca-delete":
       
$presenca_date = $_GET["data"];
       
$presenca = new presenca();
       
$presenca->deletePresencaData($presenca_date);
       
$result = $presenca->getPresenca();
        require_once
"web/presenca.php";
        break;
    case
"presenca":
       
$presenca = new presenca();
       
$result = $presenca->getPresenca();
        require_once
"web/presenca.php";
        break;
    case
"estudante-add":
        if (isset(
$_POST['add'])) {
           
$name = $_POST['nome'];
           
$numero = $_POST['numero'];
           
$data = "";
            if (
$_POST["data"]) {
               
$data_timestamp = strtotime($_POST["data"]);
               
$data = date("Y-m-d", $data_timestamp);
            }
           
$classe = $_POST['classe'];
           
$estudante = new estudante();
           
$insertId = $estudante->addEstudante($name, $numero, $data, $classe);
            if (empty(
$insertId)) {
               
$response = array(
                   
"message" => "Problema ao tentar salvar",
                   
"type" => "error"
               
);
            } else {
               
header("Location: index.php");
            }
        }
        require_once
"web/estudante-add.php";
        break;
    case
"estudante-edit":
       
$estudante_id = $_GET["id"];
       
$estudante = new estudante();
        if (isset(
$_POST['add'])) {
           
$name = $_POST['nome'];
           
$numero = $_POST['numero'];
           
$data = "";
            if (
$_POST["data"]) {
               
$data_timestamp = strtotime($_POST["data"]);
               
$data = date("Y-m-d", $data_timestamp);
            }
           
$classe = $_POST['classe'];
           
$estudante->editEstudante($name, $numero, $data, $classe, $estudante_id);
           
header("Location: index.php");
        }
       
$result = $estudante->getEstudanteById($estudante_id);
        require_once
"web/estudante-edit.php";
        break;
    case
"estudante-delete":
       
$estudante_id = $_GET["id"];
       
$estudante = new estudante();
       
$estudante->deleteEstudante($estudante_id);
       
$result = $estudante->getAllEstudante();
        require_once
"web/estudante.php";
        break;
    case
"sair":
       
$aut = new Autenticacao();
       
$aut->sair();
        break;
    default:
       
$estudante = new estudante();
       
$result = $estudante->getAllEstudante();
        require_once
"web/estudante.php";
        break;
}
?>


Details

crudbook

Aplicativo CRUD em PHP e AJAX Este repositório contém o código-fonte de um aplicativo CRUD (Create, Read, Update, Delete) criado usando PHP e AJAX. O aplicativo permite gerenciar informações em um banco de dados de forma dinâmica e interativa.

Tecnologias utilizadas O aplicativo foi construído com as seguintes tecnologias:

PHP 7.4 AJAX MVC (Model-View-Controller) PDO (PHP Data Objects) HTML CSS JavaScript Funcionalidades O aplicativo permite as seguintes operações:

Criar, editar e excluir informações do banco de dados Login e registro de usuários Validação de formulários Autenticação de usuários por e-mail e senha Autenticação de dois fatores por e-mail Recuperação de senha por e-mail Registro de log de acesso Como usar Para usar o aplicativo, siga as instruções abaixo:

Clone ou faça o download do repositório Configure seu servidor web para servir a pasta public como raiz do aplicativo Importe o arquivo database.sql para criar a tabela do banco de dados Configure as informações do banco de dados no arquivo db_config.php Acesse o aplicativo em seu navegador Melhorias futuras O aplicativo pode ser aprimorado com as seguintes funcionalidades:

Paginação de resultados Ordenação de resultados Busca de informações Edição em massa de informações Implementação de testes automatizados Refatoração do código para melhorar a organização e escalabilidade Contribuição Contribuições são bem-vindas! Se você quiser melhorar o código, corrigir algum problema ou adicionar uma nova funcionalidade, sinta-se à vontade para fazer um fork do repositório e enviar um pull request.


  Files folder image Files (22)  
File Role Description
Files folder imageclass (5 files)
Files folder imageweb (7 files, 3 directories)
Accessible without login Plain text file index.php Example Example script
Accessible without login Plain text file login.php Example Example script
Accessible without login Plain text file README.md Doc. Documentation
Accessible without login Plain text file register.php Example Example script

  Files folder image Files (22)  /  class  
File Role Description
  Plain text file Autenticacao.php Class Class source
  Plain text file DBController.php Class Class source
  Plain text file Estudante.php Class Class source
  Plain text file Presenca.php Class Class source
  Plain text file Usuario.php Class Class source

  Files folder image Files (22)  /  web  
File Role Description
Files folder imagecss (1 file)
Files folder imageimage (3 files)
Files folder imagejs (2 files)
  Accessible without login Plain text file estudante-add.php Aux. Auxiliary script
  Accessible without login Plain text file estudante-edit.php Aux. Auxiliary script
  Accessible without login Plain text file estudante.php Aux. Auxiliary script
  Accessible without login Plain text file header.php Aux. Auxiliary script
  Accessible without login Plain text file presenca-add.php Aux. Auxiliary script
  Accessible without login Plain text file presenca-edit.php Aux. Auxiliary script
  Accessible without login Plain text file presenca.php Aux. Auxiliary script

  Files folder image Files (22)  /  web  /  css  
File Role Description
  Accessible without login Plain text file style.css Data Auxiliary data

  Files folder image Files (22)  /  web  /  image  
File Role Description
  Accessible without login Image file icon-add.png Icon Icon image
  Accessible without login Image file icon-delete.png Icon Icon image
  Accessible without login Image file icon-edit.png Icon Icon image

  Files folder image Files (22)  /  web  /  js  
File Role Description
  Accessible without login Plain text file jquery-2.1.1.min.js Data Auxiliary data
  Accessible without login Plain text file validador.js Data Auxiliary data

The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page.
Install with Composer Install with Composer
 Version Control Unique User Downloads Download Rankings  
 100%
Total:161
This week:0
All time:8,954
This week:43Up