Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Liga

Estas en el tema de Liga en el foro de Frameworks y PHP orientado a objetos en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 22/12/2004, 12:54
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 20 años, 9 meses
Puntos: 4
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 |
  #2 (permalink)  
Antiguo 22/12/2004, 13:04
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 20 años, 9 meses
Puntos: 4
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][email protected][/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 |

Última edición por Calisco; 22/12/2004 a las 13:20
  #3 (permalink)  
Antiguo 22/12/2004, 13:31
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 20 años, 9 meses
Puntos: 4
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 |
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:12.