Foros del Web » Programando para Internet » PHP »

PHP OO alguien me puede explicar este código??

Estas en el tema de alguien me puede explicar este código?? en el foro de PHP en Foros del Web. por más y más que lo miro, no logro entenderlo. Código PHP: <html> <head> <title>Pruebas</title> </head> <body> <?php class  Tabla  {   private  $mat =array();   private  ...
  #1 (permalink)  
Antiguo 25/09/2011, 22:32
 
Fecha de Ingreso: agosto-2007
Ubicación: Santiago de Chile
Mensajes: 67
Antigüedad: 16 años, 8 meses
Puntos: 1
alguien me puede explicar este código??

por más y más que lo miro, no logro entenderlo.

Código PHP:
<html>
<head>
<title>Pruebas</title>
</head>
<body>
<?php
class Tabla {
  private 
$mat=array();
  private 
$cantFilas;
  private 
$cantColumnas;

  public function 
__construct($fi,$co)
  {
    
$this->cantFilas=$fi;
    
$this->cantColumnas=$co;
  }

  public function 
cargar($fila,$columna,$valor)
  {
    
$this->mat[$fila][$columna]=$valor;
  }

  public function 
inicioTabla()
  {
    echo 
'<table border="1">';
  }

  public function 
inicioFila()
  {
    echo 
'<tr>';
  }

  public function 
mostrar($fi,$co)
  {
    echo 
'<td>'.$this->mat[$fi][$co].'</td>';
  }

  public function 
finFila()
  {
    echo 
'</tr>';
  }

  public function 
finTabla()
  {
    echo 
'</table>';
  }

  public function 
graficar()
  {
    
$this->inicioTabla();
    for(
$f=1;$f<=$this->cantFilas;$f++)
    {
      
$this->inicioFila();
      for(
$c=1;$c<=$this->cantColumnas;$c++)
      {
         
$this->mostrar($f,$c);
      }
      
$this->finFila();
    }
    
$this->finTabla();
  }
}

$tabla1=new Tabla(2,3);
$tabla1->cargar(1,1,"1");
$tabla1->cargar(1,2,"2");
$tabla1->cargar(1,3,"3");
$tabla1->cargar(2,1,"4");
$tabla1->cargar(2,2,"5");
$tabla1->cargar(2,3,"6");
$tabla1->graficar();
?>
</body>
</html>
  #2 (permalink)  
Antiguo 25/09/2011, 22:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: alguien me puede explicar este código??

¿Que es lo que no entiendes?
  #3 (permalink)  
Antiguo 26/09/2011, 05:55
 
Fecha de Ingreso: agosto-2007
Ubicación: Santiago de Chile
Mensajes: 67
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: alguien me puede explicar este código??

como (cuando) se logra que aparesca un texto en un recuadro ESPECIFICO de la tabla.
ya que es como un mapa de coordenadas, no logro entenderlo.
  #4 (permalink)  
Antiguo 26/09/2011, 06:03
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: alguien me puede explicar este código??

Lo guarda todo en una matriz (usando cargar() ). Y luego, cuando usas graficar() lo traduce a una tabla html

Si la matriz es:
1 2 3
4 5 5

La tabla te quedará igual ;)
__________________
>> Eleazan's Source
>> @Eleazan
  #5 (permalink)  
Antiguo 26/09/2011, 06:04
 
Fecha de Ingreso: mayo-2011
Mensajes: 64
Antigüedad: 12 años, 11 meses
Puntos: 8
Respuesta: alguien me puede explicar este código??

Cita:
Iniciado por i34a23 Ver Mensaje
como (cuando) se logra que aparesca un texto en un recuadro ESPECIFICO de la tabla.
ya que es como un mapa de coordenadas, no logro entenderlo.

En la funcion cargar puedes pasar el valor que quieras, es el 3er parametro, no obstante ya te advierto que esto esta diseñado para la creacion de una tabla dinamica con una base de datos de apoyo...
  #6 (permalink)  
Antiguo 26/09/2011, 07:31
 
Fecha de Ingreso: agosto-2007
Ubicación: Santiago de Chile
Mensajes: 67
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: alguien me puede explicar este código??

bueno, este es un ejercicio que aparece en una pag web

por ejemplo

$this->mat[$fila][$columna]=$valor;

cómo funciona este método ?

"mat" es un array por lo que se supone almacenará el valor de la fila y la columna.
y a la vez el número de la fila y la columna es igual a un valor ???

como sabe el programa cual es la fila y la columna en la que debe insertar el valor dentro de la tabla ???
  #7 (permalink)  
Antiguo 26/09/2011, 07:50
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: alguien me puede explicar este código??

Veamos... mat es un array (mejor, una matriz!) que representaremos así:
j\i 0 1 2
0 * * *
1 * * *
2 * * *

Supongamos, que * es vacio (en realidad, no es así... puesto, q si no está inicializada, o si no tiene valores, simplemente "no existen" los indices)

Entonces, en la matriz, si yo le digo que 0,2 (i,j) es 5, me queda así:
j\i 0 1 2
0 * * *
1 * * *
2 5 * *

Es decir, se va a la posicion 0 de las columnas (i), y busca la fila 2 (j), y cambia el valor por un 5.

Si ahora haces que (2,1) sea 3, quedaría:
j\i 0 1 2
0 * * *
1 * * 3
2 5 * *

Asi te quedaría la matriz... ahora, si le dices "graficar" sobre esa matriz, te dibujará esa tabla en HTML. dónde pone * no habrá nada.

¿Cómo sabe cual es fila, cual es columna? Son los primeros parámetros que le pasas a cargar, el primero, en tu caso es la fila (arriba-abajo) y el segundo, es la columna (izq-derecha). Un saludo!
__________________
>> Eleazan's Source
>> @Eleazan
  #8 (permalink)  
Antiguo 26/09/2011, 09:03
 
Fecha de Ingreso: agosto-2007
Ubicación: Santiago de Chile
Mensajes: 67
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: alguien me puede explicar este código??

entonces la matriz "la genero" en el contructor cuando indicó la cantidad de filas y columnas ???

¿y luego en el metodo cargar ubico un dato dentro de la matriz?
  #9 (permalink)  
Antiguo 26/09/2011, 09:36
Avatar de Physlet  
Fecha de Ingreso: octubre-2010
Ubicación: Panamá
Mensajes: 48
Antigüedad: 13 años, 6 meses
Puntos: 9
Respuesta: alguien me puede explicar este código??

Cita:
Iniciado por i34a23 Ver Mensaje
entonces la matriz "la genero" en el contructor cuando indicó la cantidad de filas y columnas ???

¿y luego en el metodo cargar ubico un dato dentro de la matriz?
El constructor solamente está almacenando la cantidad de filas y columnas que tendrá tu matriz. Los datos que pongas ahí deben coincidir con los datos que vas a cargar, ya que cuando usarás el método graficar() este solo mostrará los valores dentro del rango que asignaste en el constructor.

A diferencia de otros lenguajes, en PHP no declaras el espacio que tendrá un arreglo. Se podría decir que son dinámicos.

Etiquetas: html, tabla
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 15:56.