Advertisement
Guest User

Untitled

a guest
Mar 3rd, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.93 KB | None | 0 0
  1. require('../cfg/config.php');
  2.  
  3. class Process {
  4.  
  5. /**
  6. * @var PDO
  7. */
  8. private $conn = null;
  9. /**
  10. * @var PDOException
  11. */
  12. public $error = null;
  13. private $host = DB_SERVER;
  14. private $user = DB_USER;
  15. private $pass = DB_PASS;
  16. private $db = DB_NAME;
  17.  
  18. public function __construct() {
  19. ini_set('mysql.connect_timeout', 300);
  20. ini_set('default_socket_timeout', 300);
  21. $this->connect();
  22. }
  23.  
  24. private function connect() {
  25.  
  26. $dsn = 'mysql:host=' . $this->host . ';dbname=' . $this->db;
  27. $options = [
  28. PDO::ATTR_PERSISTENT => true,
  29. PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
  30. ];
  31. try {
  32. $this->conn = new PDO($dsn, $this->user, $this->pass, $options);
  33. } catch(PDOException $e) {
  34. $this->error = $e->getMessage();
  35. }
  36.  
  37. return $this->conn;
  38. }
  39.  
  40. public function query($sql, $params = null) {
  41.  
  42. preg_match('/SELECT/', $sql) ? $select = true : $select = false;
  43.  
  44. $connect = $this->conn->getAttribute(PDO::ATTR_CONNECTION_STATUS);
  45.  
  46. echo "CONNECTION STATUS::: " . $connect;
  47.  
  48. if($this->error == null) {
  49.  
  50. $query = $this->conn->prepare($sql);
  51. $query->execute($params);
  52.  
  53. $query ? (!$select ? $results = true : $results = $query->fetchAll(PDO::FETCH_ASSOC))
  54. : $results = false;
  55. } else {
  56. $results = $this->error;
  57. }
  58.  
  59. return $results;
  60. }
  61.  
  62.  
  63. }
  64.  
  65. class Arrays {
  66. public $family = [];
  67. /**
  68. * @var Process
  69. */
  70. private $db;
  71.  
  72. public function __construct() {
  73.  
  74. $this->db = new Process();
  75.  
  76. }
  77. public function setFamily() {
  78. $a = [];
  79.  
  80. $sql = "SELECT familyNick, familyName FROM budget.family ORDER BY familyOrder";
  81. $query = $this->db->query($sql);
  82.  
  83. if($query != false && is_array($query)) {
  84. foreach($query as $k => $v) {
  85. $a[$v['familyNick']] = $v['familyName'];
  86. }
  87. }
  88.  
  89. $this->family = $a;
  90. }
  91. /**
  92. * @return array
  93. */
  94. public function getFamily() {
  95.  
  96. if(empty($this->family) || !isset($this->family)) {
  97. $this->setFamily();
  98. }
  99.  
  100. return $this->family;
  101. }
  102.  
  103. }
  104.  
  105. class Options {
  106.  
  107. public $family = [];
  108.  
  109. /**
  110. * @var Arrays
  111. */
  112. private $arrays;
  113.  
  114. public function __construct() {
  115. $this->arrays = new Arrays();
  116. }
  117.  
  118. public function setFamily() {
  119.  
  120. $this->family = $this->arrays->getFamily();
  121. }
  122. public function getFamilyOptions() {
  123.  
  124. if(empty($this->family)) {
  125. $this->setFamily();
  126. }
  127.  
  128. $options = [];
  129.  
  130. foreach($this->family as $famNick => $famName) {
  131. $options[] = "<option class='family' value='$famNick'>" . $famName . "</option>";
  132. }
  133.  
  134. return $options;
  135.  
  136. }
  137.  
  138.  
  139. }
  140.  
  141.  
  142. $test = new Options();
  143.  
  144. $family = $test->getFamilyOptions();
  145.  
  146. var_dump($family);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement