├── README.md ├── busca_unica.php ├── buscar.php ├── crud.sql ├── db.php ├── delete.php ├── funcoes.php ├── index.php ├── inserir_alterar.php └── upload ├── 1.jpg ├── 1050502613.jpg ├── 11.jpg ├── 12.jpg ├── 12468.jpg ├── 13.jpg ├── 14.jpg ├── 14365.jpg ├── 15.jpg ├── 16.jpg ├── 18211.jpg ├── 1853290222.jpg ├── 2.jpg ├── 22610.jpg ├── 26868.jpg ├── 27282.jpg ├── 3.jpg ├── 32656463.jpg ├── 329428809.jpg ├── 4.jpg ├── 5.jpg ├── 7.jpg ├── 819148005.jpg ├── 8288.jpg └── 9248.jpg /README.md: -------------------------------------------------------------------------------- 1 | # CRUD-PHP-MySQL-JQuery-AJAX-DATATABLE-BOOTSTRAP 2 | 3 | ### Operações Básicas de Criação, Leitura, Exclusão, Atualização usando JQuery DATATABLES AJAX com PHP MySQL POO PDO 4 | 5 | ### :pushpin: Recursos usados ​​ 6 | * PHP 7 | * Bootstrap 8 | * JQuery 9 | 10 | ### :pushpin: Versão PHP 11 | 12 | requires ```PHP 5.6+``` 13 | 14 | Export **crud.sql** arquivos para banco de dados. 15 | 16 | Banco de dados no arquivo **db.php**. 17 | 18 | ```php 19 | 20 | 21 | $connection = "PDO( 'mysql:host=localhost;dbname=crud'"; // Host Name 22 | 23 | $username = 'root'; // username of host 24 | 25 | $password = ''; // password of host 26 | 27 | $dbname = 'crud'; //database name 28 | 29 | 30 | ``` 31 | 32 | 33 | -------------------------------------------------------------------------------- /busca_unica.php: -------------------------------------------------------------------------------- 1 | prepare( 9 | "SELECT * FROM usuarios 10 | WHERE id = '".$_POST["usuario_id"]."' 11 | LIMIT 1" 12 | ); 13 | 14 | $statement->execute(); 15 | $resultado = $statement->fetchAll(); 16 | 17 | foreach($resultado as $linha) 18 | { 19 | $saida["nome"] = $linha["nome"]; 20 | $saida["sobre_nome"] = $linha["sobre_nome"]; 21 | if($linha["imagem"] != '') 22 | { 23 | $saida['imagem_usuario'] = ''; 24 | } 25 | else 26 | { 27 | $saida['imagem_usuario'] = ''; 28 | } 29 | } 30 | echo json_encode($saida); 31 | } 32 | ?> -------------------------------------------------------------------------------- /buscar.php: -------------------------------------------------------------------------------- 1 | prepare($query); 29 | $statement->execute(); 30 | $resultado = $statement->fetchAll(); 31 | 32 | $dados = array(); 33 | $contar_rows = $statement->rowCount(); 34 | 35 | foreach($resultado as $row) 36 | { 37 | $imagem = ''; 38 | if($row["imagem"] != '') 39 | { 40 | $imagem = ''; 41 | } 42 | else 43 | { 44 | $imagem = ''; 45 | } 46 | $sub_array = array(); 47 | $sub_array[] = $imagem; 48 | $sub_array[] = $row["nome"]; 49 | $sub_array[] = $row["sobre_nome"]; 50 | $sub_array[] = ''; 51 | $sub_array[] = ''; 52 | $dados[] = $sub_array; 53 | 54 | } 55 | 56 | 57 | $saida = array( 58 | "draw" => intval($_POST["draw"]), 59 | "recordsTotal" => $contar_rows, 60 | "recordsFiltered" => get_total_registros(), 61 | "data" => $dados 62 | ); 63 | echo json_encode($saida); 64 | ?> -------------------------------------------------------------------------------- /crud.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE IF NOT EXISTS `usuarios` ( 2 | `id` int(11) NOT NULL AUTO_INCREMENT, 3 | `nome` varchar(150) NOT NULL, 4 | `sobre_nome` varchar(150) NOT NULL, 5 | `imagem` varchar(150) NOT NULL, 6 | PRIMARY KEY (`id`) 7 | ); 8 | 9 | -- 10 | -- Dumping data for table `users` 11 | -- 12 | 13 | INSERT INTO `usuarios` (`id`, `nome`, `sobre_nome`, `imagem`) VALUES 14 | (18, 'Joze', 'Abreu', '1.jpg'), 15 | (19, 'John', 'da Silva', '4.jpg'), 16 | (20, 'Catarina', 'Ferrari', '3.jpg'), 17 | (21, 'Ivone', 'Cerquera', '5.jpg'), 18 | (22, 'Clara', 'Mendes', '7.jpg'), 19 | (23, 'Christine', 'Sport', '11.jpg'), 20 | (24, 'Alana', 'da Cruz', '12.jpg'), 21 | (25, 'Renata', 'Rubia', '13.jpg'), 22 | (26, 'Marcelo', 'Ricardo', '14.jpg'), 23 | (70, 'Cintia', 'Toledo', '18211.jpg'), 24 | (73, 'Daniel', 'Fraustino', '8288.jpg'), 25 | (69, 'Franklin', 'Araujo', '22610.jpg'), 26 | (66, 'Margarete', 'Souza', '14365.jpg'), 27 | (71, 'Maria', 'da Gloria', '9248.jpg'), 28 | (68, 'Roberto', 'Carlos', '27282.jpg'); -------------------------------------------------------------------------------- /db.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /delete.php: -------------------------------------------------------------------------------- 1 | prepare( 16 | "DELETE FROM usuarios WHERE id = :id" 17 | ); 18 | $resultado = $statement->execute( 19 | array( 20 | ':id' => $_POST["usuario_id"] 21 | ) 22 | ); 23 | 24 | if(!empty($resultado)) 25 | { 26 | echo 'Usuario Deletado'; 27 | } 28 | } 29 | 30 | 31 | 32 | ?> -------------------------------------------------------------------------------- /funcoes.php: -------------------------------------------------------------------------------- 1 | prepare("SELECT imagem FROM usuarios WHERE id = '$usuario_id'"); 19 | $statement->execute(); 20 | $resultado = $statement->fetchAll(); 21 | foreach($resultado as $linha) 22 | { 23 | return $linha["imagem"]; 24 | } 25 | } 26 | 27 | function get_total_registros() 28 | { 29 | include('db.php'); 30 | $statement = $connection->prepare("SELECT * FROM usuarios"); 31 | $statement->execute(); 32 | $resultado = $statement->fetchAll(); 33 | return $statement->rowCount(); 34 | } 35 | 36 | ?> -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | Marcelo Airan - GitHub 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 28 | 29 | 30 |
31 |

PHP PDO MySQL Ajax CRUD com Data Tables e Bootstrap Modals

32 |
33 |
34 |
35 |
36 | 37 |
38 |

39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 |
FotoNomeSobre NomeEditarDelete
50 | 51 |
52 |
53 | 54 | 55 | 56 | 85 | 86 | -------------------------------------------------------------------------------- /inserir_alterar.php: -------------------------------------------------------------------------------- 1 | prepare(" 15 | INSERT INTO usuarios (nome, sobre_nome, imagem) 16 | VALUES (:nome, :sobre_nome, :imagem) 17 | "); 18 | 19 | $resultado = $statement->execute( 20 | array( 21 | ':nome' => $_POST["nome"], 22 | ':sobre_nome' => $_POST["sobre_nome"], 23 | ':imagem' => $imagem 24 | ) 25 | ); 26 | if(!empty($resultado)) 27 | { 28 | echo 'Usuario inserido com sucesso !'; 29 | } 30 | } 31 | if($_POST["operacao"] == "Edit") 32 | { 33 | 34 | $imagem = ''; 35 | 36 | if($_FILES["imagem_usuario"]["name"] != '') 37 | { 38 | $imagem = upload_imagem(); 39 | } 40 | else 41 | { 42 | $imagem = $_POST["hidden_usuario_imagem"]; 43 | } 44 | $statement = $connection->prepare( 45 | "UPDATE usuarios 46 | SET nome = :nome, sobre_nome = :sobre_nome, imagem = :imagem 47 | WHERE id = :id 48 | " 49 | ); 50 | $resultado = $statement->execute( 51 | array( 52 | ':nome' => $_POST["nome"], 53 | ':sobre_nome' => $_POST["sobre_nome"], 54 | ':imagem' => $imagem, 55 | ':id' => $_POST["usuario_id"] 56 | ) 57 | ); 58 | if(!empty($resultado)) 59 | { 60 | echo 'Usuario alterado com sucesso !'; 61 | } 62 | } 63 | } 64 | 65 | ?> -------------------------------------------------------------------------------- /upload/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarceloAiran/CRUD-PHP-AJAX-DATATABLE/918a929c1c9ca745848b91799d863a86e3b326f7/upload/1.jpg -------------------------------------------------------------------------------- /upload/1050502613.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarceloAiran/CRUD-PHP-AJAX-DATATABLE/918a929c1c9ca745848b91799d863a86e3b326f7/upload/1050502613.jpg -------------------------------------------------------------------------------- /upload/11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarceloAiran/CRUD-PHP-AJAX-DATATABLE/918a929c1c9ca745848b91799d863a86e3b326f7/upload/11.jpg -------------------------------------------------------------------------------- /upload/12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarceloAiran/CRUD-PHP-AJAX-DATATABLE/918a929c1c9ca745848b91799d863a86e3b326f7/upload/12.jpg -------------------------------------------------------------------------------- /upload/12468.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarceloAiran/CRUD-PHP-AJAX-DATATABLE/918a929c1c9ca745848b91799d863a86e3b326f7/upload/12468.jpg -------------------------------------------------------------------------------- /upload/13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarceloAiran/CRUD-PHP-AJAX-DATATABLE/918a929c1c9ca745848b91799d863a86e3b326f7/upload/13.jpg -------------------------------------------------------------------------------- /upload/14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarceloAiran/CRUD-PHP-AJAX-DATATABLE/918a929c1c9ca745848b91799d863a86e3b326f7/upload/14.jpg -------------------------------------------------------------------------------- /upload/14365.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarceloAiran/CRUD-PHP-AJAX-DATATABLE/918a929c1c9ca745848b91799d863a86e3b326f7/upload/14365.jpg -------------------------------------------------------------------------------- /upload/15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarceloAiran/CRUD-PHP-AJAX-DATATABLE/918a929c1c9ca745848b91799d863a86e3b326f7/upload/15.jpg -------------------------------------------------------------------------------- /upload/16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarceloAiran/CRUD-PHP-AJAX-DATATABLE/918a929c1c9ca745848b91799d863a86e3b326f7/upload/16.jpg -------------------------------------------------------------------------------- /upload/18211.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarceloAiran/CRUD-PHP-AJAX-DATATABLE/918a929c1c9ca745848b91799d863a86e3b326f7/upload/18211.jpg -------------------------------------------------------------------------------- /upload/1853290222.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarceloAiran/CRUD-PHP-AJAX-DATATABLE/918a929c1c9ca745848b91799d863a86e3b326f7/upload/1853290222.jpg -------------------------------------------------------------------------------- /upload/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarceloAiran/CRUD-PHP-AJAX-DATATABLE/918a929c1c9ca745848b91799d863a86e3b326f7/upload/2.jpg -------------------------------------------------------------------------------- /upload/22610.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarceloAiran/CRUD-PHP-AJAX-DATATABLE/918a929c1c9ca745848b91799d863a86e3b326f7/upload/22610.jpg -------------------------------------------------------------------------------- /upload/26868.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarceloAiran/CRUD-PHP-AJAX-DATATABLE/918a929c1c9ca745848b91799d863a86e3b326f7/upload/26868.jpg -------------------------------------------------------------------------------- /upload/27282.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarceloAiran/CRUD-PHP-AJAX-DATATABLE/918a929c1c9ca745848b91799d863a86e3b326f7/upload/27282.jpg -------------------------------------------------------------------------------- /upload/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarceloAiran/CRUD-PHP-AJAX-DATATABLE/918a929c1c9ca745848b91799d863a86e3b326f7/upload/3.jpg -------------------------------------------------------------------------------- /upload/32656463.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarceloAiran/CRUD-PHP-AJAX-DATATABLE/918a929c1c9ca745848b91799d863a86e3b326f7/upload/32656463.jpg -------------------------------------------------------------------------------- /upload/329428809.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarceloAiran/CRUD-PHP-AJAX-DATATABLE/918a929c1c9ca745848b91799d863a86e3b326f7/upload/329428809.jpg -------------------------------------------------------------------------------- /upload/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarceloAiran/CRUD-PHP-AJAX-DATATABLE/918a929c1c9ca745848b91799d863a86e3b326f7/upload/4.jpg -------------------------------------------------------------------------------- /upload/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarceloAiran/CRUD-PHP-AJAX-DATATABLE/918a929c1c9ca745848b91799d863a86e3b326f7/upload/5.jpg -------------------------------------------------------------------------------- /upload/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarceloAiran/CRUD-PHP-AJAX-DATATABLE/918a929c1c9ca745848b91799d863a86e3b326f7/upload/7.jpg -------------------------------------------------------------------------------- /upload/819148005.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarceloAiran/CRUD-PHP-AJAX-DATATABLE/918a929c1c9ca745848b91799d863a86e3b326f7/upload/819148005.jpg -------------------------------------------------------------------------------- /upload/8288.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarceloAiran/CRUD-PHP-AJAX-DATATABLE/918a929c1c9ca745848b91799d863a86e3b326f7/upload/8288.jpg -------------------------------------------------------------------------------- /upload/9248.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarceloAiran/CRUD-PHP-AJAX-DATATABLE/918a929c1c9ca745848b91799d863a86e3b326f7/upload/9248.jpg --------------------------------------------------------------------------------