Ver Mensaje Individual
  #4 (permalink)  
Antiguo 02/08/2011, 02:06
Avatar de vgonga1986
vgonga1986
 
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Como ejecutar un while dentro de un while

Buenas,

A ver, primero el código. Según pones ahí, no sé si esa función sigue o no, no tiene mucho sentido asignar $tabla = horarios ($sql1,$dia); ya que la función hace echo directamente, no tiene un return de la tabla, sino que la imprime directamente. No sé si es el problema, pero puede ser, date cuenta que cuando haces echo de $dia, primero te imprime todos los días y luego la tabla. Es decir, que primero hace el bucle entero y luego imprime la tabla de la primera iteración. No tiene sentido!!!!!

En segundo lugar, creo que tu código, aunque no está mal, no es muy bueno:
- Primero, la estructura de la base de datos, creo que debes pensarla mejor. Qué vas poner un horario para cada día en la tabla horario? Es decir, cómo vas a controlar si está reservado o no? Si un usuario reserva para las 9 del día 12 y otro para las 9 del día 13 cómo lo guardas? En reserva sólo tienes horario y pista... y la fecha?
- Tu función horarios hace un if para cada pista hasta id_pista == 3. Y si mañana pones una pista nueva? Tienes que cambiar la función, eso no es modular.
- La sentencia $sql1 hace un select de todos los campos de tabla_horarios, pero luego haces el fetch y crees que tiene dentro $valores['id_pista'], esto está mal, ya que id_pista no es de la tabla horarios.
- Los campos de las tablas no creo que sean muy acertados. Guardar horas en formato varchar me parece un error de concepto. Lo suyo sería que guardaras la hora de inicio en un TIMESTAMP y crearas otro campo para la duración, así además, podrías hacer reservas de media hora, por ejemplo.

En fin, espero que soluciones el tema que preguntas, pero yo le pegaría un gran repaso a todo lo demás. No te lo tomes a mal, pero tienes muchos detalles de concepto.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?