Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/01/2012, 06:04
joanan46
 
Fecha de Ingreso: septiembre-2011
Mensajes: 87
Antigüedad: 12 años, 7 meses
Puntos: 6
Clases en php

Buenos dias, miren ahora estamos trabajando con POO en php y claro, vengo de C++ y el cambio de lenguaje me esta costando un poco. Me suele pasar.

El ejercicio consta de una tabla departamento(id,nombre), empleado(id,nombre,dept), proyecto(id,nombre_proyecto) y proyecto_empleado(id_proyecto i id_empleado). Tengo que insertar usuarios a la BBDD, primeramente creo un objeto Empleado, lo guardo en una session array para luego visualizarlo por pantalla y lo inserto en la BDDD.

El problema es el siguiente: tengo la clase empleado:

Código PHP:
Ver original
  1. <?php
  2. class Empleat{
  3.  
  4.     var $_codi;
  5.     var $_nom;
  6.     var $_dept;
  7.    
  8.     public function __construct($xcodi, $xnom, $xdept){
  9.         $this->_codi=$xcodi;
  10.         $this->_nom=$xnom;
  11.         $this->_dept=$xdept;
  12.     }
  13.     function getCodi(){
  14.         return $this->_codi;
  15.     }
  16.     function getNom(){
  17.         return $this->_nom;
  18.     }
  19.     function getDept(){
  20.         return $this->_dept;
  21.     }
  22.     function guardarBd(){
  23.         $xcodi= $this->getCodi();
  24.         $xnom= $this->getNom();
  25.         $xdept= $this->getDept();
  26.         mysql_query("insert into empleat values($xcodi,'$xnom',$xdept)");
  27.     }
  28. }
  29. ?>
Aqui les dejo el indice.php

Código PHP:
Ver original
  1. <?php
  2. require 'conexio.php';
  3. require 'class_empleat.php';
  4.  
  5. if(isset($_POST['enviar'])){
  6.  
  7.     $codi=$_POST['codi'];
  8.     $nom=$_POST['nom'];
  9.     $dept=$_POST['dept'];
  10.    
  11.     $e = new Empleat($codi,$nom,$dept);
  12.     $t[count($t)]=$e;
  13.     $_SESSION['empleats']=$t;
  14.     $e->guardarBd();
  15. }
  16. ?>
  17. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  18. <html>
  19. <head>
  20. <title>Documento sin t&iacute;tulo</title>
  21. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  22. </head>
  23.  
  24. <body>
  25. <form action="index.php" method="post">
  26.     Codi: <input name="codi" type="text">
  27.     Nom: <input name="nom" type="text">
  28.     Departament: <input name="dept" type="text">
  29.     <input name="enviar" type="submit" value="Enviar">
  30. </form>
  31. </body>
  32. </html>

El verdadero problema esta cuando el profe me dice que a los proyectos les tengo que asignar empleados y/o cambiarlos. Hay me quedo bloqueado. Tengo que crear una clase proyectos?

La explicacion del profe fue: habra un fomrulario con todos los proyectos, al seleccionar uno, mostrara todos su empleados que se podran eliminar de la lista y insertar mas. Pero mi problema esta en que no se ver el como hacerlo con clases, sin clases es muy facil.

Luego tengo que mostrarlo todo. Aqui tengo el mimso problema, mi solucion seria hacer un select de proyecto_empleado, y mediante el select crear un objeto, eso se puede hacer?

En serio tengo muchas dudas sobre POO en php, y en C++ no, C++ aprobe y lo entiendo a la perfección.