Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/04/2010, 11:41
Avatar de OsSk4R
OsSk4R
 
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Mostrar datos de BD mediante una class

Buenas,
A ver ante todo decir que estoy empezando con la POO de PHP. Hace tiempo quise empezar pero al ver que era "dificil" lo deje y hoy lo he vuetlo a retomar .

Bueno leyendo un poco y viendo ejemplos, he sido capaz de crear mi propia clase basada en un coche (que novedad xD).

Esta es:
Código PHP:
Ver original
  1. class info_coche {
  2.         var $marca;
  3.         var $modelo;
  4.         var $color;
  5.         var $matricula;
  6.            
  7.             function __construct($marca,$modelo,$color,$matricula) {
  8.                 $this->marca=$marca;
  9.                 $this->modelo=$modelo;
  10.                 $this->color=$color;
  11.                 $this->matricula=$matricula;
  12.             }
  13.             function mostrar_informacion() {
  14.                 return $this->marca .'-'. $this->modelo .'-'. $this->color .'-'. $this->matricula;
  15.             }
  16.     }
  17.    
  18.  
  19. $coche = new info_coche ('Audi','A5','Negro','CBSXXXX');
  20. echo "Información del coche: ".$coche->mostrar_informacion();

La duda que me asalta es la siguiente:
¿Como hacer para que los datos se saquen de la BD y no manualmente como hago yo?

O sea, en la línea:
$coche = new info_coche ('Audi','A5','Negro','CBSXXXX');
¿Como hago para que los datos salgan de una base de datos y no los tenga que poner yo manualmente?

Es he probado escribiendo:

Código PHP:
Ver original
  1. include ("config.php");
  2.  
  3.     class info_coche {
  4.         var $marca;
  5.         var $modelo;
  6.         var $color;
  7.         var $matricula;
  8.            
  9.             function __construct($marca,$modelo,$color,$matricula) {
  10.                 $this->marca=$marca;
  11.                 $this->modelo=$modelo;
  12.                 $this->color=$color;
  13.                 $this->matricula=$matricula;
  14.             }
  15.             function mostrar_informacion() {
  16.                 return $this->marca .'-'. $this->modelo .'-'. $this->color .'-'. $this->matricula;
  17.             }
  18.     }
  19.    
  20.         $Resultado=mysql_query("SELECT * FROM coches ORDER BY id",$conexion);
  21.         while($MostrarFila=mysql_fetch_array($Resultado)){
  22.         $marca = $MostrarFila['marca'];
  23.         }
  24.  
  25. $coche = new info_coche ($marca,'A5','Negro','CBSXXXX');
  26. echo "Información del coche: ".$coche->mostrar_informacion();

Pero claro, esa no es la manera correcta, aparte de que me sale unicamente el ultimo registro habiendo varios de ellos.

Entonces, ¿como podria adaptar el código?

Muchas gracias una vez más