/projects/Fantasy/webroot/integrar/old/Clases/fachadaBD.php

https://github.com/danielvaleradp/--ngara · PHP · 172 lines · 137 code · 35 blank · 0 comment · 24 complexity · 6e3fc5232a19c4db4c59106a196959bb MD5 · raw file

  1. <?php
  2. class fachadaBD {
  3. private static $instancia;
  4. private static $hostname = "localhost";
  5. private static $username = "postgres";
  6. private static $password = "a0639563";
  7. private static $database = "Fantasy";
  8. private function __construct(){}
  9. public static function singleton(){
  10. if (!isset(self::$instancia))
  11. self::$instancia = new fachadaBD();
  12. return self::$instancia;
  13. }
  14. public function insertar($obj){
  15. $link = pg_connect('host='.self::$hostname.' dbname='.self::$database.' user='.self::$username.' password='.self::$password);
  16. $query = "INSERT INTO \"Fantasy\".\"".get_class($obj)."\" ( ";
  17. $vars_clase = $obj->get();
  18. $i=0;
  19. foreach ($vars_clase as $nombre => $valor)
  20. if($nombre != 'id' && $valor >= 0){
  21. if($i==0)
  22. $query .= $nombre ;
  23. else
  24. $query .= ", ".$nombre ;
  25. $i++;
  26. }
  27. $query .= ") VALUES (";
  28. $i=0;
  29. foreach ($vars_clase as $nombre => $valor)
  30. if($nombre != 'id' && $valor >= 0 ){
  31. if($i==0)
  32. $query .= "'".$valor."'" ;
  33. else
  34. $query .= ", '".$valor."'" ;
  35. $i++;
  36. }
  37. $query .= ")";
  38. pg_query($query);
  39. pg_close($link);
  40. }
  41. public function actualizar($obj){
  42. $link = pg_connect('host='.self::$hostname.' dbname='.self::$database.' user='.self::$username.' password='.self::$password);
  43. $query = "UPDATE \"Fantasy\".\"".get_class($obj)."\" SET ";
  44. $vars_clase = $obj->get();
  45. $i=0;
  46. foreach ($vars_clase as $nombre => $valor){
  47. if($nombre != 'id' && $valor >= 0){
  48. if($i==0)
  49. $query .= $nombre." = '".$valor."'";
  50. else
  51. $query .= ", ".$nombre." = '".$valor."'";
  52. $i++;
  53. }
  54. }
  55. $query .= " WHERE id = '".$vars_clase['id']."'";
  56. pg_query($query);
  57. pg_close($link);
  58. }
  59. public function eliminar($obj){
  60. $link = pg_connect('host='.self::$hostname.' dbname='.self::$database.' user='.self::$username.' password='.self::$password);
  61. $query = "DELETE FROM \"Fantasy\".\"".get_class($obj)."\" WHERE ";
  62. $i=0;
  63. $Conexiones = $obj->get();
  64. foreach ($Conexiones as $nombre => $valor)
  65. if($valor >= 0){
  66. if($i==0)
  67. $query .= $nombre." = '".$valor."'";
  68. else
  69. $query .= "AND ".$nombre." = '".$valor."'";
  70. $i++;
  71. }
  72. pg_query($query);
  73. pg_close($link);
  74. }
  75. public function obtener($obj){
  76. $link = pg_connect('host='.self::$hostname.' dbname='.self::$database.' user='.self::$username.' password='.self::$password);
  77. $i=0;
  78. $Conexiones = $obj->get();
  79. $query = "SELECT ";
  80. foreach ($Conexiones as $nombre => $valor)
  81. if($valor < 0){
  82. if($i==0)
  83. $query .= $nombre;
  84. else
  85. $query .= " , ".$nombre;
  86. $i++;
  87. }
  88. $query .= " FROM \"Fantasy\".\"".get_class($obj)."\" WHERE ";
  89. $i=0;
  90. foreach ($Conexiones as $nombre => $valor)
  91. if($valor >= 0){
  92. if($i==0)
  93. $query .= $nombre." = '".$valor."'";
  94. else
  95. $query .= "AND ".$nombre." = '".$valor."'";
  96. $i++;
  97. }
  98. $result = pg_query($query);
  99. $row = pg_fetch_assoc($result);
  100. $obj->reload($row);
  101. pg_close($link);
  102. }
  103. public function obtenerTodos($obj){
  104. $link = pg_connect('host='.self::$hostname.' dbname='.self::$database.' user='.self::$username.' password='.self::$password);
  105. $Conexiones = $obj->get();
  106. $i=0;
  107. $query = "SELECT ";
  108. foreach ($Conexiones as $nombre => $valor)
  109. if($valor < 0){
  110. if($i==0)
  111. $query .= $nombre;
  112. else
  113. $query .= " , ".$nombre;
  114. $i++;
  115. }
  116. $query .= " FROM \"Fantasy\".\"".get_class($obj)."\"";
  117. $i=0;
  118. foreach ($Conexiones as $nombre => $valor)
  119. if($valor >= 0){
  120. if($i==0)
  121. $query .= " WHERE ".$nombre." = '".$valor."'";
  122. else
  123. $query .= "AND ".$nombre." = '".$valor."'";
  124. $i++;
  125. }
  126. $result = pg_query($query);
  127. $Res = new ArrayObject();
  128. while ($row = pg_fetch_assoc($result)){
  129. $Tmp = clone $obj;
  130. $Tmp->reload($row);
  131. $Res->append($Tmp); //Este Reload Queda Extraño aqui
  132. }
  133. pg_close($link);
  134. return $Res->getArrayCopy();
  135. }
  136. }
  137. ?>