Advertisement
Guest User

Untitled

a guest
Feb 25th, 2019
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.71 KB | None | 0 0
  1. <? Class connect{
  2. public $host = "localhost";
  3. public $user = "root";
  4. public $password = "";
  5.  
  6. public $db = "test";
  7. public $charset = "utf8";
  8.  
  9. public $pdo = "";
  10.  
  11. public function __construct() {
  12.  
  13. $dsn = "mysql:host=$this->host;dbname=$this->db;charset=$this->charset";
  14. $opt = array(
  15. PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
  16. PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
  17. );
  18. $this->pdo = new PDO($dsn, $this->user, $this->password, $opt);
  19. }
  20. }
  21.  
  22.  
  23. Class db extends connect{
  24.  
  25. public $table_name = '';
  26.  
  27. /**
  28. * добавление записи в таблицу
  29. * @param array $data массив данных для сохранения
  30. * @return Boolen
  31. */
  32. public function insert($data)
  33. {
  34. $data['create_at'] = Date('Y-m-d H:i:s');
  35. $fields = $this->set_fields($data);
  36. $sql = "INSERT INTO `{$this->table_name}` SET ".$fields;
  37. $stmt = $this->pdo->prepare( $sql );
  38.  
  39. return $stmt->execute($data);
  40. }
  41.  
  42.  
  43.  
  44.  
  45.  
  46. public function update($data)
  47. {
  48. $fields = $this->set_fields($data);
  49. $sql = "UPDATE `{$this->table_name}` SET ".$fields.' WHERE id=:id';
  50.  
  51. $stmt = $this->pdo->prepare( $sql );
  52. return $stmt->execute($data);
  53. }
  54.  
  55. public function set_fields( $items, $delimiter = "," ){
  56. $str = array();
  57. if(empty($items)) return "";
  58. foreach ($items as $key=>$item){
  59. $str[] = "`".$key."`=:".$key;
  60. }
  61. return implode($delimiter, $str );
  62. }
  63.  
  64. public function get_count( $where = array() )
  65. {
  66.  
  67. $sql = "SELECT count(*) FROM {$this->table_name}";
  68. if( count( $where) > 0 ){
  69. $fields = $this->set_fields($where, " AND ");
  70. $sql .= " WHERE ".$fields;
  71. }
  72.  
  73. $smtp = $this->pdo->prepare($sql);
  74. $smtp->execute($where);
  75. $result = $smtp->fetch( PDO::FETCH_NUM );
  76.  
  77. return (int)$result[0];
  78. }
  79.  
  80.  
  81. public function get_all($order = "id asc")
  82. {
  83. $sql = "SELECT * FROM `{$this->table_name}` ORDER BY $order";
  84. $stmt = $this->pdo->prepare($sql);
  85. $stmt->execute();
  86. $result = $stmt->fetchAll();
  87. return $result;
  88. }
  89.  
  90. /**
  91. * (new City())->get_one(['id' => 5])
  92. */
  93. public function get_one($where = [], $order = "id asc")
  94. {
  95. $sql = "SELECT * FROM `{$this->table_name}`";
  96. if( count( $where) > 0 ){
  97. $fields = $this->set_fields($where, " AND ");
  98.  
  99. $sql .= " WHERE ".$fields;
  100. }
  101. $sql .= " ORDER BY $order";
  102.  
  103. $stmt = $this->pdo->prepare($sql);
  104. $stmt->execute($where);
  105. $result = $stmt->fetch();
  106. return $result;
  107.  
  108. }
  109.  
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement