PHP Classes

How to Learn to Implement a PHP CRUD App Using the Package PHP CRUD: Manipulate model objects using a CRUD interface

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
2024-09-13 (7 days ago) RSS 2.0 feedNot enough user ratingsTotal: 58 This week: 58All time: 10,533 This week: 1Up
Version License PHP version Categories
php-crud 1.0GNU General Publi...5PHP 5, Databases, Design Patterns
Description 

Author

This package can Manipulate model object using a CRUD interface.

It provides a database access class that can connect to a database server using PDO and perform common database access operations.

The package comes with an example script that uses the database access class to perform the operations to manipulate model objects.

It also uses a view HTML template to provide the user interface the perform create, retrieve, update and delete operations (CRUD).

In Portuguese:

Exemplo de CRUD no PHP com Ajax e Model genérico

Picture of Marcelo Telles
  Performance   Level  
Name: Marcelo Telles <contact>
Classes: 6 packages by
Country: Brazil Brazil
Innovation award
Innovation award
Nominee: 2x

Example

<?php
date_default_timezone_set
("America/Sao_Paulo");
require_once(
"Model.php");

$dados = new Model();

$comando="CREATE TABLE IF NOT EXISTS `produtos_2` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `imagem` longblob,
    `descricao` varchar(50) NOT NULL,
    `preco` decimal(9,2) NOT NULL,
    `marca` varchar(50) NOT NULL,
    `fabricante` varchar(50) NOT NULL,
    `datafabricacao` date NOT NULL,
    `origem` varchar(25) NOT NULL,
    `ativo` integer NOT NULL DEFAULT 1,
    `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    `modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;"
;
 
 
$dados->multisql($comando);

if(isset(
$_POST['op'])){
   
$op = $_POST['op'];
    if(
$op=='insert'){
       
$descricao = filter_input(INPUT_POST, 'descricao', FILTER_DEFAULT, FILTER_SANITIZE_SPECIAL_CHARS);
       
$preco = filter_input(INPUT_POST, 'preco', FILTER_DEFAULT, FILTER_SANITIZE_SPECIAL_CHARS);
       
$marca = filter_input(INPUT_POST, 'marca', FILTER_DEFAULT, FILTER_SANITIZE_SPECIAL_CHARS);
       
$fabricante = filter_input(INPUT_POST, 'descricao', FILTER_DEFAULT, FILTER_SANITIZE_SPECIAL_CHARS);
       
$datafabricacao = filter_input(INPUT_POST, 'dataFab', FILTER_DEFAULT, FILTER_SANITIZE_SPECIAL_CHARS);
       
$origem = filter_input(INPUT_POST, 'origem', FILTER_DEFAULT, FILTER_SANITIZE_SPECIAL_CHARS);
       
$produto = array(
           
"descricao"=> $descricao ,
           
"preco"=> $preco,
           
"marca"=> $marca,
           
"fabricante"=> $fabricante,
           
"datafabricacao"=> $datafabricacao,
           
"origem"=> $origem
       
);
               
       
$resultado = $dados->insert($produto,'produtos_2');
       
        echo
json_encode($resultado);
    }

    if(
$op=='delete'){
       
$id = filter_input(INPUT_POST, 'id', FILTER_VALIDATE_INT);
       
$condicao = array(
           
"where"=> array(
               
"id"=> $id,
            )
        );
       
$resultado = $dados->delete($condicao,'produtos_2');
        echo
json_encode($resultado);
    }

    if(
$op=='disable'){
       
$id = filter_input(INPUT_POST, 'id', FILTER_VALIDATE_INT);
       
$produto = array(
           
"ativo"=> 0
       
);
       
$condicao = array(
           
"id"=> $id,
        );
       
$resultado = $dados->disable($produto,$condicao,'produtos_2');
        if(
$resultado==1){

        }
        echo
json_encode($resultado);
    }

    if(
$op=='enable'){
       
$id = filter_input(INPUT_POST, 'id', FILTER_VALIDATE_INT);
       
$produto = array(
           
"ativo"=> 1
       
);
       
$condicao = array(
           
"id"=> $id,
        );
       
$resultado = $dados->disable($produto,$condicao,'produtos_2');
        if(
$resultado==1){

        }
        echo
json_encode($resultado);
    }

    if(
$op=='update'){
       
$id = filter_input(INPUT_POST, 'id', FILTER_VALIDATE_INT);
       
$condicao = array(
           
"where"=>array(
               
"id"=> $id,
            ),
           
"return_type"=>'single'
       
);
       
$descricao = filter_input(INPUT_POST, 'descricao', FILTER_DEFAULT, FILTER_SANITIZE_SPECIAL_CHARS);
       
$preco = filter_input(INPUT_POST, 'preco', FILTER_DEFAULT, FILTER_SANITIZE_SPECIAL_CHARS);
       
$marca = filter_input(INPUT_POST, 'marca', FILTER_DEFAULT, FILTER_SANITIZE_SPECIAL_CHARS);
       
$fabricante = filter_input(INPUT_POST, 'descricao', FILTER_DEFAULT, FILTER_SANITIZE_SPECIAL_CHARS);
       
$datafabricacao = filter_input(INPUT_POST, 'dataFab', FILTER_DEFAULT, FILTER_SANITIZE_SPECIAL_CHARS);
       
$origem = filter_input(INPUT_POST, 'origem', FILTER_DEFAULT, FILTER_SANITIZE_SPECIAL_CHARS);
       
$produto = array(
           
"descricao"=> $descricao ,
           
"preco"=> $preco,
           
"marca"=> $marca,
           
"fabricante"=> $fabricante,
           
"datafabricacao"=> $datafabricacao,
           
"origem"=> $origem
       
);
       
$resultado = $resp = $dados->update($produto,$condicao,"produtos_2");
       
        echo
json_encode($resultado);
    }

    if(
$op=='select'){
        if(isset(
$_POST['condicao']) && $_POST['condicao']<2){
           
$filtro = array(
               
"where"=>array(
                   
"ativo"=>$_POST['condicao']
                )
            );
           
$resultado = $dados->getRows("produtos_2",$filtro);
        }else{
           
$resultado = $dados->getRows("produtos_2");
        }
        echo
json_encode($resultado);
    }

    if(
$op=='selectById'){
       
$id = filter_input(INPUT_POST, 'id', FILTER_VALIDATE_INT);
       
$condicao = array(
           
"where"=> array(
               
"id"=> $id,
            )
        );
       
       
$resultado = $dados->getById("produtos_2",$condicao);
       
        echo
json_encode($resultado);
    }
}


Details

CRUD PHP com Model Genérico

Este projeto é uma aplicação CRUD (Create, Read, Update, Delete) em PHP, utilizando HTML e AJAX. Inclui um Model genérico que pode interagir com qualquer tabela do MySQL.

Funcionalidades

  • Adicionar, visualizar, editar e excluir registros.
  • Model genérico para trabalhar com qualquer tabela MySQL.

Tecnologias

  • PHP
  • MySQL
  • HTML/CSS
  • JavaScript/AJAX

Instalação

  1. Clone o Repositório

    git clone https://github.com/Macelot/php-crud.git
    
    

  Files folder image Files (5)  
File Role Description
Accessible without login Plain text file config.php Aux. Configuration script
Accessible without login Plain text file Controller.php Example Example script
Plain text file Model.php Class Class source
Accessible without login Plain text file README.md Doc. Documentation
Accessible without login HTML file view.html 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:58
This week:58
All time:10,533
This week:1Up