Ver Mensaje Individual
  #6 (permalink)  
Antiguo 05/01/2013, 15:23
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Cómo hacer esto?

Cita:
Leguaje? PHP, por algo lo pongo en este foro
Primer error: Este no es el foro de PHP, es el foro de MySQL, y ni PH es MySQL, ni MySQL entiende PHP.
Son cosas total y completamente independientes.
Cita:
Esquepa de la db?
La pregunta se refiere a que si es posible realizar cambios en la base de datos, sea porque falten tablas, porque las relaciones estén mal diseñadas, porque carezca de normalización u otros defectos posibles que estén generando problemas para diseñar una buena consulta.

Yendo a desglosar lo que pones en el primer post:

Cita:
Tengo una tabla (Tabla1): Esta tabla tiene el contenido en dos celdas en una pone 106 y en otra 206. Y está en la columna Z.
Ajá... ¿Y qué se supone que representa esa tabla y esos valores?
Nosotors no tenemos ni idea, por lo que en realidad eso no nos dice nada.

Cita:
Luego tengo otra (Tabla2): En esta hay tres columnas. Origen, Destino y Coche. Y dos entradas en una: Madrid, Barcelona, 106,206,306 y en otra: Valencia, Málaga, 206, 5008, 4008. (En la columna coche, dentro de una celda hay tres datos separados por comas).
Acá ya pinta que tienes un diseño espantosamente mal planteado.
Los campos multivaluados (aquellos donde hay más de un valor en un mismo registro, separados por coma como dices), están totalmente prohibidos en las bases de datos.
Son una violación tan flagrante al fundamentos de las bases de datos, que si lo pusieras en un examen de la materia en la primera respuesta, reprobarías instantáneamente, sin necesidad de seguir leyendo los restantes puntos.
Un campo que puede adoptar varios valores para un registro dado significa que hay una relación N:N entre esa entidad y otra más, y toda relación N:N genera una tabla adicional. Siempre.
En otras palabras, te falta al menos una tabla en tu base de datos.

Cita:
Quiere que sólo me filtre la rutas de la Tabla2 para los coches que puedo conducir que son los de la tabla 1 (106 y 206).
Con una base mal diseñada como la que tienes, eso no lo vas a poder lograr.

Cita:
Pero quiero que simpre esté preparado para que ingrese más coches en la tabla1 y más rutas en la tabla2.
Siempre están preparados, pero para eso el analisis del sistema tiene que estar bien hecho, y aún falta muchísima información.

Cita:
He pensado en hacerlo con forms y así, pero cuando tengo que separar los diferentes coches que hacen la ruta harmo un cristo.
Forms, paginas o visualizaciones, no son tema de base de datos, porque las bases de datos no muestran cosas en pantallas. Para eso está la programación de aplicaciones.

En definitiva: Con lo que tienes, debes volver al boceto y reanalizar el sistema, crear un buen diagrama de entidad-relación (DER), hacer la transformación a modelo físico de tablas, normalizar la base y recién entonces estarás en condiciones de crear el DAC (Data Access Control) en PHP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)