Advertisement
Guest User

crud

a guest
Oct 18th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.00 KB | None | 0 0
  1. <?php
  2.     class crud{
  3.         private $pdo;
  4.         private $table;
  5.         public function __construct($host,$database,$user,$password){
  6.             $this->pdo = new PDO("mysql:host=".$host.";dbname=".$database,$user,$password);
  7.         }
  8.         private function sqlInsert($dados,$tabela){
  9.             $sql = '';
  10.             $campos = '';
  11.             $valores = '';
  12.             $this->table = $tabela;
  13.             foreach ($dados as $key => $valor) {
  14.                 $campos .= $key.', ';
  15.                 $valores .= '?, ';
  16.             }
  17.             if(substr($campos, -2) == ", "){
  18.                 $campos = trim(substr($campos,0,(strlen($campos) -2)));
  19.                 $valores = trim(substr($valores,0,(strlen($valores) -2)));
  20.             }
  21.             else{
  22.                 $campos = $campos;
  23.                 $valores = $valores;
  24.             }
  25.             $sql = "INSERT INTO ".$this->table." (".$campos.") VALUES (".$valores.");";
  26.             return trim($sql);
  27.         }
  28.         private function sqlDelete($dados,$tabela){
  29.             $sql = '';
  30.             $campos = '';
  31.             $this->table = $tabela;
  32.             foreach ($dados as $key => $value) {
  33.                 $campos .= $key.'= ? AND ';
  34.             }
  35.             if(substr($campos, -4) == "AND "){
  36.                 $campos = trim(substr($campos,0,(strlen($campos) -4)));
  37.             }
  38.             else{
  39.                 $campos = $campos;
  40.             }
  41.             $sql = "DELETE FROM ".$this->table." WHERE ".$campos;
  42.             return trim($sql);
  43.         }
  44.         private function sqlUpdate($dados,$chave,$tabela){
  45.             $sql = '';
  46.             $campos = '';
  47.             $camposChave = '';
  48.             $this->table = $tabela;
  49.             foreach ($dados as $key => $value) {
  50.                 $campos .= $key.' = ?, ';
  51.             }
  52.             foreach ($chave as $key => $value) {
  53.                 $camposChave .=$key. '= ? AND ';
  54.             }
  55.             if(substr($campos, -2) == ', '){
  56.                 $campos = trim(substr($campos,0,(strlen($campos)) -2));
  57.             }
  58.             if (substr($camposChave, -4) == 'AND '){
  59.                 $camposChave = trim(substr($camposChave,0,(strlen($camposChave)) - 4));
  60.             }
  61.             else{
  62.                 $campos = $campos;
  63.                 $camposChave = $camposChave;
  64.             }
  65.             $sql = "UPDATE ".$this->table." SET ".$campos." WHERE ".$camposChave;
  66.             return trim($sql);
  67.         }
  68.  
  69.         private function sqlSelect($chave,$tabela){
  70.             $sql = '';
  71.             $camposChave = '';
  72.             $this->table = $tabela;
  73.            
  74.             foreach ($chave as $key => $value) {
  75.                 $camposChave .=$key. '= ? AND ';
  76.             }
  77.            
  78.             if (substr($camposChave, -4) == 'AND '){
  79.                 $camposChave = trim(substr($camposChave,0,(strlen($camposChave)) - 4));
  80.             }
  81.             else{
  82.                 $camposChave = $camposChave;
  83.             }
  84.             $sql = "SELECT * FROM ".$this->table." WHERE ".$camposChave;
  85.             return trim($sql);
  86.         }
  87.         public function insert($dados,$tabela){
  88.             $stmt = $this->pdo->prepare($this->sqlInsert($dados,$tabela));
  89.             $contador = 1;
  90.             foreach($dados as $value){
  91.                 $stmt->bindValue($contador,$value);
  92.                 $contador++;
  93.             }
  94.             $stmt->execute();
  95.         }
  96.         public function delete($dados,$tabela){
  97.             $stmt = $this->pdo->prepare($this->sqlDelete($dados,$tabela));
  98.             $contador = 1;
  99.             foreach ($dados as $value) {
  100.                 $stmt->bindValue($contador,$value);
  101.                 $contador++;
  102.             }
  103.             $stmt->execute();
  104.             $count = $stmt->rowCount();
  105.             echo 'numero de linha afetadas'.$count; ?><br><br><?php
  106.  
  107.             return $count;
  108.    
  109.  
  110.         }
  111.         public function update($dados,$chave,$tabela){
  112.             $stmt = $this->pdo->prepare($this->sqlUpdate($dados,$chave,$tabela));
  113.             $contadorDados = 1;
  114.             foreach ($dados as $value) {
  115.                 $stmt->bindValue($contadorDados,$value);
  116.                 $contadorDados++;
  117.             }
  118.             foreach ($chave as $var) {
  119.                 $stmt->bindValue($contadorDados,$var);
  120.                 $contadorDados++;
  121.             }
  122.             $stmt->execute();
  123.         }
  124.  
  125.         //Este select retorna todo o banco
  126.  
  127.         public function select($tabela){
  128.             $this->table = $tabela;
  129.             $stmt = $this->pdo->prepare("SELECT * FROM ".$tabela);
  130.             $stmt->execute();
  131.  
  132.             //Fiz essa feiura aqui só pra um trabalho da faculdade kkkkk
  133.            
  134.             while ($row = $stmt->fetch()) {
  135.                 echo $row['nome']." - ".$row['tel']."<br>";
  136.             }  
  137.         }
  138.  
  139.         //Este select é para pesquisa de um elemento em Expecífico
  140.  
  141.         public function selectEx($chave,$tabela){
  142.             $stmt = $this->pdo->prepare($this->sqlSelect($chave,$tabela));
  143.             $contadorDados = 1;
  144.             foreach ($chave as $var) {
  145.                 $stmt->bindValue($contadorDados,$var);
  146.                 $contadorDados++;
  147.             }
  148.             $stmt->execute();
  149.         }
  150.     }
  151. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement