Retroceder   Foros del Web > Programación para sitios web > PHP > PHP orientado a objetos

Respuesta
 
Herramientas Desplegado
Antiguo 22-dic-2004, 11:54   #1 (permalink)
Calisco tiene algunos puntos positivos de karma
 
Avatar de Calisco
 
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 696
Liga

Aca vamos de nuevo. Estoy trabajando sonbre la construccion de una liga similar a una liga ded futbol. Ya tengo mas o menos la estructura de la base de datos y tengo en mente como seran las consultas, ya que creo que no son muy complejas.

Este es un esquema dee la base dede datos.

__________________
| Cabeza De Raton | Foro MooTools en Castellano |
Calisco está desconectado   Responder Citando
Antiguo 22-dic-2004, 12:04   #2 (permalink)
Calisco tiene algunos puntos positivos de karma
 
Avatar de Calisco
 
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 696
Ahora quiero empezara realizar las clases para todo este diseño.
En realidad yo tengo hecha una clase astracta (con el famoso die en el constructor) que me permite conectarme a mi base ded datos y hacer algunas cositas mas con algunos registros.


Nombre: Class Registro
Propiedades
$id
$last_id
$dB_server
$dB_username
$dB_pass
$dB_name
$dB_tabla
$dB_manejador


Metodos
Prp_Id ()
Prp_Last_Id ()
DB_Tabla ()
Conf_dB ($server, $username, $pass, $name)
Conex_dB ()
Desconex_dB ()
Del_Reg ()
Imprimir_DB ()


Con esta clase yo me puedo conectarme a cualquier tabla de mi base de datos, ya que todas constan con el campo id, auqnue creo que podria asignarle una propiedad a la clase con el nombre del campo indice de la tabla a la cual yo me quiero conectar.

Código PHP:
<?php
/*
* Nombre de la clase: Registro ()
* Nombre de archivo: class_registro.php
* Instanciable: NO
* Hererada: NO
*
* Inicio de diseño: 10 de Mayo del 2004
* Ultima modificacion: 10 de Mayo del 2004
*
* Damian Suarez
* [email]rdsuarez@fdsoft.com.ar[/email]
*/

class Registro
{
//    *************************************************************************
//    *                            Propiedades                                    *
//    *************************************************************************

    
var $id;                // $id es el identificador del objeto
    
var $last_id;            // $last_id es el ultimo id de la tabla

    
var $dB_server;            // Server de la base de datos
    
var $dB_username;        // Nombre de usuario de la base de datos
    
var $dB_pass;            // Password para el usuario
    
var $dB_name;            // Nombre de la base de datos
    
var $dB_tabla;          // Tabla de trabajo de la base de datos
    
var $dB_manejador;        // Manejador de la base de datos



//    *************************************************************************
//    *                            Metodos                                        *
//    *************************************************************************

//    ***************
//    * Constructor *
//    ***************
//    Con este constructor se logra que Registro sea una clase abstracta
function Registro ()
    {
    die ();
    }



//    **************************************************
//    * Metodos para manejo de Propiedades de la clase *
//    **************************************************

// Setter y Getter de la propiedad $this->id
function Prp_Id ()
    {
    switch (
func_num_args())
        {
            case 
1:
                
$this->id func_get_arg(0);
            case 
0:
                return 
$this->id;
        }   
// End Switch
    
}   // End Metodo



// Getter del ultimo id de la tabla

function Prp_Last_Id ()
    {
    
// Sentencia SQL que buscal el mayor id de la tabla

    
$sql "SELECT MAX( id ) AS max FROM $this->dB_tabla";
    
// Ejecutamos la sentencia SQL
    
$busqueda mysql_query ($sql);
    
// Asociamos los resultados a una matriz
    
$matriz_id mysql_fetch_row($busqueda);

    
$this->last_id $matriz_id[0];        // $matriz_id[0] es el id del campo de la tabla
    
return $this->last_id;
    }   
// End Metodo



// Setter y Getter de la propiedad $this->DB_Name
function DB_Tabla ()
    {
    switch (
func_num_args())
        {
            case 
1:
                
$this->dB_tabla func_get_arg(0);
            case 
0:
                return 
$this->dB_tabla;
        }   
// End Switch
    
}   // End Metodo




//    *********************************************
//    * Metodos para administrar la base de datos *
//    *********************************************

//    Metodo que configura las propiedades de la clase para la conexion con la base de datos
function Conf_dB ($server$username$pass$name)
    {
    
//    Asignacion a las propiedades de la clase
    
$this->dB_server $server;
    
$this->dB_username $username;
    
$this->dB_pass $pass;
    
$this->dB_name $name;
    }   
// End Function



//    Conexion con la base de datos
function Conex_dB ()
    {
    
// $manejador es el id que maneja la base de datos
    
$manejador mysql_connect($this->dB_server$this->dB_username$this->dB_pass);
    
$this->dB_manejador $manejador;
    
mysql_select_db ($this->dB_name);

    }   
// End Metodo



//    Desconexion con la base de datos
function Desconex_dB ()
    {
    
mysql_close($this->dB_manejador);
    }



// Borra un registro de la tabla de la base de datos
function Del_Reg ()
    {
    
//    Sentencia SQL para borra un registro
    
$sql "DELETE FROM $this->dB_tabla WHERE id='$this->id'";

    
//    Ejecucion de la sentencia SQL
    
mysql_query ($sql);
    }   
// End Metodo



//  Metodo que Imprime los datos de la conexion de labase de datos
function Imprimir_DB ()
    {
    echo 
'<hr>';
    echo 
'<h2>Propiedades de la base de Datos</h2>';
    echo 
'DataBase Server: <b>'.$this->dB_server.'</b><br>';
    echo 
'DataBase Username: <b>'.$this->dB_username.'</b><br>';
    echo 
'DataBase Password: <b>'.$this->dB_pass.'</b><br>';
    echo 
'Nombre de la base de datos: <b>'.$this->dB_name.'</b><br>';
    echo 
'<br>Nombre de la Tabla de trabajo: <b>'.$this->dB_tabla.'</b><br>';
    echo 
'Numero de manejador: <b>'.$this->dB_manejador.'</b>';
    echo 
'<hr>';
    }

}    
// Fin de la clase Registro
?>
__________________
| Cabeza De Raton | Foro MooTools en Castellano |

Última edición por Calisco; 22-dic-2004 a las 12:20.
Calisco está desconectado   Responder Citando
Antiguo 22-dic-2004, 12:31   #3 (permalink)
Calisco tiene algunos puntos positivos de karma
 
Avatar de Calisco
 
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 696
Bien, ahora yo pensaba hacer una subclase de la clase Registro para poder conectarme administrar una liga.

Pensando en voz alta, seria algo asi:

Nombre: Class Liga
Propiedades
$id
$Titulo
$Estado
...


Metodos

Prp_Nombre ()
Prp_Estado ()
Agregar ()
...


(despues lo sigo, me estoy llendo del trabajo )
__________________
| Cabeza De Raton | Foro MooTools en Castellano |
Calisco está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 05:53.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93