Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/04/2012, 03:31
aurson
 
Fecha de Ingreso: octubre-2011
Mensajes: 36
Antigüedad: 12 años, 7 meses
Puntos: 2
Exclamación Problema con POO y base de datos

Hola a todos!

Estoy trabajando en el código que pongo debajo y estoy encallado. Por favor, a ver si me podéis echar un cable, y así poder continuar...

Consiste en ir entrando datos de varios caballos mediante un formulario. Luego, recojo esos datos (caballo a caballo) y los voy guardando en un array (todos los datos de cada caballo), con lo que tengo un array de caballos con sus datos correspondientes.

El caso es que consigo entrar todos los datos de cada caballo en un Array, pero a la hora de listarlos no puedo acceder a un campo concreto de las características del caballo. Me explico:

Por ejemplo, si listo el caballo “ todos_caballos[0] “ me devuelve “ nombre, raza, disciplina ”, pero ¿cómo puedo acceder a cada campo de manera independiente para el caballo “ todos_caballos[0] “ ?

Y por otra parte, ¿cómo puedo relacionar la clase principal con las clases asociadas a “disciplina”?

Un saludo y gracias por adelantado!

Código:
<script type="text/javascript">

var todos_caballos = new Array();	

//clase caballo
function caballo(form) {
	
	var caballos = new Array();	
	
	//recojo todos los valores del formulario incluyendo los de las classes asociadas 
	// -----> no los pongo todos <-----
	nombre = form.nombre.value;
	raza = form.raza.value;

	// tipo de DISCIPLINA (salto, doma, raid)
	disciplina = document.f_caballos.disciplina_OK[document.f_caballos.disciplina_OK.selectedIndex].value;
	
	// DISCIPLINA - salto 
	patas = document.f_caballos.salto[document.f_caballos.salto.selectedIndex].value;
	altura_max = form.altura_max.value;
	
	//FIN recogida datos formulario 
	
	//propiedades
	this.nombre = nombre;
	this.raza = raza;
	this.disciplina = disciplina;
	
	//voy metiendo los datos del caballo actual en un array
	un_caballo = new Array(this.nombre, this.raza, this.disciplina);
	
	//guardo el caballo y todos sus datos en un array de caballos	
	todos_caballos.push(un_caballo);
	
}

//---------------- CLASES ASSOCIADAS ---------------//

function disciplina_salto(disciplina) {	
 this.patas = patas;
 this.altura_max = altura_max;
}

function disciplina_doma(disciplina) {
 this.forma_cuello = forma_cuello;
 this.tipo_movimiento = tipo_movimiento;
}

function disciplina_raid(disciplina) {
 this.resistencia = resistencia;
 this.velocidad = velocidad;
 this.capacidad_carga = capacidad_carga;
}

//---------------- CLASES ASSOCIADAS ---------------//

</script>