daily pastebin goal
42%
SHARE
TWEET

crud

a guest Oct 18th, 2018 72 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.  
  98.             $stmt = $this->pdo->prepare($this->sqlDelete($dados,$tabela));
  99.             $contador = 1;
  100.             foreach ($dados as $value) {
  101.                 $stmt->bindValue($contador,$value);
  102.                 $contador++;
  103.             }
  104.            
  105.             $stmt->execute();
  106.  
  107.            
  108.            
  109.         }
  110.         public function update($dados,$chave,$tabela){
  111.             $stmt = $this->pdo->prepare($this->sqlUpdate($dados,$chave,$tabela));
  112.             $contadorDados = 1;
  113.             foreach ($dados as $value) {
  114.                 $stmt->bindValue($contadorDados,$value);
  115.                 $contadorDados++;
  116.             }
  117.             foreach ($chave as $var) {
  118.                 $stmt->bindValue($contadorDados,$var);
  119.                 $contadorDados++;
  120.             }
  121.             $stmt->execute();
  122.         }
  123.  
  124.         //Este select retorna todo o banco
  125.  
  126.         public function select($tabela){
  127.             $this->table = $tabela;
  128.             $stmt = $this->pdo->prepare("SELECT * FROM ".$tabela);
  129.             $stmt->execute();
  130.  
  131.             //Fiz essa feiura aqui só pra um trabalho da faculdade kkkkk
  132.            
  133.             while ($row = $stmt->fetch()) {
  134.                 echo $row['nome']." - ".$row['tel']."<br>";
  135.             }  
  136.         }
  137.  
  138.         //Este select é para pesquisa de um elemento em Expecífico
  139.  
  140.         public function selectEx($chave,$tabela){
  141.             $stmt = $this->pdo->prepare($this->sqlSelect($chave,$tabela));
  142.             $contadorDados = 1;
  143.             foreach ($chave as $var) {
  144.                 $stmt->bindValue($contadorDados,$var);
  145.                 $contadorDados++;
  146.             }
  147.             $stmt->execute();
  148.            
  149.            
  150.         }
  151.     }
  152. ?>
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top