elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Temas
Páginas: 1 [2] 3 4
11  Programación / PHP / me gustaria compartir mi clase DBALL (manejador de bases de datos) en: 10 Agosto 2007, 04:41 am
hola que tal, bueno hice una clase para evitar tener que cambiar la sintaxis con diferentes bases de datos, todo ese proceso de queries y connects es muy engorroso y bueno aqui esta mi clase hecha en php5 (la hice en php4 pero la actualize).

Deben nombrar a este archivo "DBALL.php" (nota: no significa Dragon Ball, significa data bases all - todas las bases de datos)  ;D ;D
Código
  1. <?php
  2. /**
  3.  * Creador: Coolfrog  from Bolivia
  4.  * Correo: jm.neutron@gmail.com
  5.  * Blog: http://mundocoolf.blogspot.com
  6.  * Web Page: ***En progreso***
  7.  * Version:1.1
  8.  *
  9.  * Clase para php5  que permite ejecutar MYSQL, POSTGRESQL  E ISIS
  10.  * en versiones siquientes  se aumentara para oracle y otras que sean necesarias.
  11.  * Ultima Acualización 6/8/07
  12.  *
  13.  * Es cogigo libre y puede ser distribuido a cualquier persona, solo una condicion ,para usar esta clase deben dejar mis datos ;) es lo unico que les agradeceria que hicieran
  14.  */
  15. include("iniDB.php"); //archivo que inicia las variables estaticas, SIRVE PARA TRABAJAR CON UN SOLO MOTOR DE BASE DATOS
  16. class DBALL{
  17. public static $host;
  18. public static $usr;
  19. public static $pass;
  20. public static $dbname;
  21. public static $motor;
  22. private $conex;
  23. private $result;
  24. public static $showErrors;
  25.  
  26. /*#######DESCOMENTAR EL CONSTRUCTOR SI SE QUIERE TRABAJAR CON DOS O MAS MOTORES DE BASES DE DATOS AL MISMO TIEMPO, Y HACER LA CONEXCION CON EL CONSTRUCTOR PARA CADA MOTOR#######*/
  27. /**
  28. * constructor que inicia las variables
  29. *
  30. * @param str $host
  31. * @param str $usr
  32. * @param str $pass
  33. * @param str $dbname
  34. * @param str $motor
  35.     */
  36. /*function __construct($host,$usr,$pass,$dbname,$motor){
  37. self::$host=$host;
  38. self::$usr=$usr;
  39. self::$pass=$pass;
  40. self::$dbname=$dbname;
  41. self::$motor=$motor;
  42. }*/
  43. /*#####CONSTRUCTOR: DESCOMENTAR HASTA AQUI#####*/
  44. /**
  45. * metodo que conecta a una base de datos dependiendo del parameto $motor
  46. * @return boolean
  47.     */
  48. public function dbConnect(){
  49.    self::$motor=strtoupper(self::$motor);
  50.    $v=false;
  51. if(self::$motor=="MYSQL"){
  52. $this->conex=mysql_connect(self::$host,self::$usr,self::$pass);
  53. $var=mysql_select_db(self::$dbname,$this->conex);
  54. if($var){
  55. $v=true;
  56. }
  57. } else if(self::$motor=="PSQL"){
  58.     $this->conex=@pg_connect("host=".self::$host." dbname=".self::$dbname." user=".self::$usr." password=".self::$pass);
  59. if($this->conex){
  60.     $v=true;
  61. }
  62.    } else if(self::$motor=="ISIS"){
  63.   $this->conex=isis_open(self::$dbname,"-v error -format aligned -encoding ISO8859_1");
  64.     if($this->conex){
  65. $v=true;
  66. }
  67. }
  68. //devuelve true si se conecto y false si hay error
  69. return $v;
  70. }
  71. /**
  72.  * selecciona registros SELECTS
  73.  *
  74.  * @param string $consulta
  75.  * @return array
  76. */
  77. public function dbSelect($consulta){
  78. $res=array();
  79. if(self::$motor=="MYSQL"){
  80. $this->result = mysql_query($consulta);
  81. if(self::$showErrors){
  82. if(mysql_errno($this->conex)!=0)
  83.     echo "Error ".mysql_errno($this->conex)." : ".mysql_error($this->conex);
  84.     }
  85. $fila= mysql_num_rows($this->result);
  86. $i=0;
  87. while ($row = mysql_fetch_object($this->result)){
  88. $res[$i]=$row;
  89. $i++;
  90. }
  91. mysql_free_result($this->result);
  92. }else if(self::$motor=="PSQL"){
  93. $this->result = @pg_query($this->conex,$consulta);
  94. $fila=@pg_numrows($this->result);
  95. for($i=0;$i<$fila;$i++){
  96. $res[$i]=@pg_fetch_object($this->result,$i);
  97.     }
  98. @pg_free_result($this->result);
  99.  
  100. }else if (self::$motor=="ISIS"){
  101. $this->result = isis_query($consulta,$this->conex);
  102. $i=0;
  103. if ($this->result!=null && $this->result!='') {
  104. while($record = isis_fetch_flat_array($this->result)){
  105. $res[$i]=$record;
  106.    $i++;
  107. }
  108. }
  109.     }
  110. return $res;
  111. }
  112. /**;
  113. * realiza consultas como:UPDATE,INSERT AND DELETE
  114. * retorna true si la consulta se ejecuto correctamente caso contrario false
  115. *
  116. * @param string $consulta
  117. * @return boolean
  118. */
  119. public function dbABM($consulta){
  120. $r=false;
  121. if(self::$motor=="MYSQL"){
  122. $this->result = mysql_query($consulta);
  123. if(self::$showErrors){
  124. if(mysql_errno($this->conex)!=0)
  125.     echo "Error ".mysql_errno($this->conex)." : ".mysql_error($this->conex);
  126.     }
  127. //mysql_free_result($this->result);
  128. }else if(self::$motor=="PSQL"){
  129. $this->result = @pg_query($this->conex,$consulta);
  130. pg_free_result($this->result);
  131. }
  132. if ($this->result) {
  133. $r=true;
  134. }
  135. //Devuelve false en caso de error
  136. return $r;
  137. }
  138. /**
  139. * Inicia la transaccion, retorna true si la transaccion se Inicia correctamente caso contrario false
  140. *
  141. * @return Boolean
  142. */
  143. public function dbBeginTransaction(){
  144. if(self::$motor=="MYSQL"){
  145. $this->result = mysql_query("BEGIN");
  146. }else{
  147. $this->result = pg_query($this->conex,"BEGIN");
  148. }
  149. if ($this->result) {
  150. return true;
  151. //echo "Transaccion Iniciada";
  152. }
  153. else
  154.    return false;
  155. }
  156. /**
  157. * Cancela la transaccion, retorna true si la transaccion es cancelada correctamente caso contrario false
  158. *
  159. * @return Boolean
  160. */
  161.    public function dbCancelTransaction(){
  162.         if(self::$motor=="MYSQL"){
  163. $this->result = mysql_query("ROLLBACK");
  164. }else{
  165. $this->result = pg_query($this->conex,"ROLLBACK");
  166. }
  167. if ($this->result) {
  168. return true;//$r=true;
  169. //echo "Transaccion Cancelada";
  170. }
  171. else
  172.    return false;
  173.  
  174. }
  175. /**
  176. * Termina la transaccion, retorna true si la transaccion termina correctamente caso contrario false
  177. *
  178. * @return Boolean
  179. */
  180. public function dbEndTransaction(){
  181. if(self::$motor=="MYSQL"){
  182. $this->result = mysql_query("COMMIT");
  183. }else{
  184. $this->result = pg_query($this->conex,"COMMIT");
  185. }
  186. if ($this->result) {
  187. return true;
  188. //echo "Transaccion Terminada";
  189. } else
  190.    return false;
  191. }
  192.  
  193. public function dbClose(){
  194. if(self::$motor=="MYSQL"){
  195. }else if(self::$motor=="PSQL"){
  196. }else if (self::$motor=="ISIS"){
  197.    @isis_close($this->conex);//$this->dbname,"-v error -format aligned -encoding ISO8859_1"
  198. }
  199. }
  200.  
  201.  
  202. // #################### FUNCIONES EXCLUSIVAS PARA ISIS #######################
  203. /*PUEDEN BORRAR O COMENTAR ESTAS FUNCIONES SI NO UTILIZAN  ISIS*/
  204. private function num_reg_query(){  //retorna el numer de registros de la consulta
  205. if ($this->result!=null && $this->result!='') {
  206. return isis_num_rows($this->result);
  207. }//else return 0;
  208. }
  209. private function num_reg(){ //retorna el numer de registros de toda la BD
  210. return isis_last_mfn($this->conex);
  211. }
  212. private function get_reg($mfnindex){ //retorna el registro especificado
  213. return isis_fetch_flat_array_from_mfn($mfnindex,$this->conex);
  214. }
  215. // #################### FUNCIONES EXCLUSIVAS PARA ISIS #######################
  216. }
  217. ?>
  218.  
  219.  

El archivo de configuracion de los parametros iniciales es este:
Deben nombrar a este archivo "iniDB.php"
Código
  1. <?php
  2. //parametros de inicio de la base de datos
  3. DBALL::$host="localhost";     //la ruta del servidor donde esta la BD
  4. DBALL::$usr="root";             //el usuario para conectarse
  5. DBALL::$pass="mysql";        //el password para conectarse
  6. DBALL::$dbname="logico";   //nombre de la base de datos
  7. DBALL::$motor="mysql";     //el motor puede ser mysql,postgres o isis
  8. DBALL::$showErrors=true;  // indica si se deben mostrar los errores de la BD
  9. ?>
  10.  

Como dice al inicio de los comentarios cualquiera que este interesado puede usar mi clase solo les pido que dejen mis datos al inicio :)

Ahora su forma de uso es la siguiente para un INSERT, DELETE O UPDATE:
Código
  1. $categoria="php"
  2. $categoriaPadre=1
  3. include("DBALL.php"); //incluyen el archivo que contiene la clase
  4. $mydb=new DBALL();  //instancian a la clase
  5. if($mydb->dbConnect()){  //el metodo dbConnect devuelve true si no hay problemas
  6. //una consulta insert
  7. $sql="INSERT INTO CATEGORIA VALUES(default,'$categoria',$categoriaPadre);";
  8.    if($mydb->dbABM($sql)) //procesa consultas insert,delete y update
  9.        echo "SE INSERTO CORRECTAMENTE");
  10. else  echo "NO SE PUEDO INSERTAR";
  11. }
  12. else{
  13. echo "NO SE PUDO CONECTAR";
  14. }
  15.  

Ahora su forma de uso es la siguiente para un SELECT

Código
  1. $categoria="php"
  2. $categoriaPadre=1
  3. include("DBALL.php"); //incluyen el archivo que contiene la clase
  4. $mydb=new DBALL();  //instancian a la clase
  5. if($mydb->dbConnect()){  //el metodo dbConnect devuelve true si no hay problemas
  6. //una consulta select
  7. $sql="select * from categoria";
  8. $reg=$mydb->dbSelect($sql); //dbSelect devuelve un array de objetos
  9. //para recorrer el array
  10. for($i=0;$i<count($reg);$i++){
  11. echo "<option value=".$reg[$i]->idCat.">".$reg[$i]->nombreCategoria."</option>";
  12. //se accede a los nombres los campos como si fueran propiedades de objetos
  13. }
  14. }
  15. else{
  16. echo "NO SE PUDO CONECTAR";
  17. }
  18.  

Para terminar deben guardar los dos archivos "DBALL.php" y "iniDB.php" en el mismo directorio.


Bueno eso es todo, tb. tiene metodo para manejar transacciones pero eso es mas facil y si tienen dudas pregunten que con gusto voy a contestar.

PD: Si alguien quiere modificar o ayudarme a hacer algunas mejoras con gusto las recibo, y si quieren la clase para php 4 solo avisen.

12  Media / Diseño Gráfico / Efecto de vistas de maquinas? en: 26 Julio 2007, 06:51 am
jaja el titulo no se entiende, el efecto que quiero hacer es la vision del terminator , lo quiero hacer en flash, alguien ya ha hecho algo asi? No me sale muy bien por que no me acuerdo muy bien de la pelicula, alguien tiene algo parecido o algun video donde pueda ver la vision de terminator otra vez?

Saludos..

PD. Va a ser la interfaz de mi paginá.

13  Media / Diseño Gráfico / Degradado en formas del photoshop? en: 25 Julio 2007, 19:34 pm
como puedo colocar un degradado a las formas que tiene el photoshop, por que solo puedo cambiarle de color de fondo pero no puedo darle un degradado.
Ah y donde puedo conseguir mas formas con temas para cocina,hospitales etc..?

Gracias de antemano
14  Media / Multimedia / Maquina para realizar trabajos multimedia en: 24 Julio 2007, 09:32 am
HOlas queria saber que requiere una maquina para que pueda trabajar con videos, que tipo de tarjeta grafica , memoria , etc.
15  Media / Diseño Gráfico / Como creo mascaras en photoshop? en: 24 Julio 2007, 09:28 am
se hace igual que flash?
16  Media / Diseño Gráfico / Data Binding + Flash 8? en: 24 Julio 2007, 09:25 am
hola quetal alguno de ud's tiene algun tutorial de data binding en flash con componentes, y como puedo hacer para configurar los parametros de los componentes?
No encuentro buenos tutoriales :(

17  Media / Diseño Gráfico / AS 2.0 Class? en: 1 Julio 2007, 03:22 am
hola , no entiendo bien para que esta esta opcion en el panel linkage, lo de identifier si se para que es, pero el otro campo de "AS 2.0 class" como puedo utilizarlo?
utilizo flash 8 professional.

PD: Se todo los conceptos de OOP , solo quiero saber como utilizo ese campo.

Saludos...
18  Media / Diseño Gráfico / silueta con movimiento, como se hace? en: 12 Junio 2007, 20:23 pm
hola quetal, como puedo hacer este efecto, se trata de la silueta de una persona que se esta moviendo. Se puede hacer en flash? como se haria?
aqui les dejo un link en la que el cargador de la pagina es justo lo que quiero.

http://www.maratonvirtual.es/

respondan porfavor..
19  Programación / .NET (C#, VB.NET, ASP) / SQl SERVER 2005? en: 9 Junio 2007, 04:36 am
que tal, estoy viendo sql server 2005 express y bueno no encuentro buenos tutoriales solo algunos ejemplos.
Cree una base de datos en base a un ejemplo y crea un archivo fisico (mdf)
Código:
CREATE DATABASE clientes_fisico
ON (
NAME = N'clientes_fisico_db',
FILENAME = 'c:\dce05\clientes_fisico_DB.mdf',
SIZE = 3,
MAXSIZE = 20,
FILEGROWTH = 2
)
eso lo entiendo pero que pasa cuando no coloco ninguna ruta fisica para cree la base de datos, donde se crea la base de datos?
Código:
CREATE DATABASE clientes; //tambien acepta esto

para que sirve el archivo mdf?
se pueden hacer conexiones desde c# a la base de datos clientes?, no tiene ningun archivo mdf

si me dijeran donde encuentro manuales de referencia para el lenguaje sql en sql server 2005 estaria muy agradecido por que no encuentro.
 
20  Media / Diseño Gráfico / como crear este efecto en flash? en: 29 Mayo 2007, 20:44 pm
hola una vez vi en una pagina un efecto de como una planta se iba dibujando sola, intente hacer lo mismo en flash con mascaras pero no me sale igual, por desgracia no encuentro la pagina donde vi el efecto.
El efecto empezaba desde abajo la parte de la raiz e iban saliendo todas las demas partes de la planta, aqui les dejo una imagen que encontre para que se hagan una idea.

http://www.bullseyetattoos.com/tattoos/Flowers/342-Flower_Tribal

no se si me deje entender, espero que si..
si alguien sabe como podria hacerse?
Páginas: 1 [2] 3 4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines