![]() |
qué es lo ideal para subir multiples archivos a la vezq Hola a todos/as. tengo una duda y la verdad no sé cuál puede ser la solución ideal. a ver. Ahora mismo tengo una base de datos en la cual hay una tabla llamémosla productos. En esta tabla productos están (para simplificar) un id de cada producto (que es autonumérico); un nombre del producto; las características del producto y la ruta de la imagen del producto, la cual (la imagen) se almacena en un directorio llamado imagenes, es decir, en esta tabla sólamente se recoge la ruta de la imagen. Por lo tanto tengo: Tabla 'productos': idproducto-------campo autonumérico nombre-----------nombre del producto caracteristicas--caracteristicas del producto imagen-----------ruta de la imagen el archivo de la imagen es almacenado en la carpeta 'imagenes' del servidor. bien. mediante este sistema subo a través de un formulario los diferentes datos que alimentan esta tabla. mi duda surge ahora con lo siguiente: supongamos que en lugar de subir una única imagen por producto, lo que yo quiero subir son 'x' imágenes, las que sean (unas veces serán 2, otras 5, otras 1....). y aquí es donde se me plantea la duda. (el tema de como subirlas está resuelto, mi duda va por saber cuál es la mejor solución al respecto): primera opción: seguir como hasta ahora, es decir, con la tabla 'productos', donde se irán almacenando esos datos y ahora en lugar de una ruta de la imagen que se subía hasta ahora habrá almacenadas tantas rutas como imagenes subamos asociadas al producto en cuestión. es decir, tendríamos: Tabla 'productos': idproducto-------campo autonumérico nombre-----------nombre del producto caracteristicas--caracteristicas del producto imagen1-----------ruta de la imagen 1 imagen1-----------ruta de la imagen 2 . . . imagen n-----------ruta de la imagen n si tomo esta decisión, mi pregunta es ¿como hacer para que se creen tantos campos 'imagen' como imagenes suba en la tabla 'productos'? es decir, si subo una única imagen, que aparezca un campo imagen pero si subo tres imágenes por ejemplo, que aparezcan los campos imagen1, imagen2 e imagen3, que almacenarían las rutas de esas imágenes. segunda opción: la segunda opción es que en lugar de almacenar todas las imágenes en la tabla 'productos', crear una tabla nueva llamada 'imágenes' donde se irían almacenando las diferentes imágenes de cada producto y que estaría relacionada con la tabla 'productos'. Así me quedaría: Tabla 'productos': idproducto-------campo autonumérico nombre-----------nombre del producto caracteristicas--caracteristicas del producto Tabla 'imagenes': idimagen--------campo autonumérico de la imagen imagen----------ruta de la imagen idproducto_img-id del producto al que corresponde esa imagen con esta solución no tendría el problema de tener que generar tantos campos 'imagen' como en el caso anterior puesto que se irían ingresando en el único campo 'imagen' pero aquí el problema vendría en sacar después los datos mediante consultas y mostrarlos conjuntamente, es decir, sacar los datos del producto 'X' (nombre y características) que están en la tabla 'productos' y a la vez las imágenes de la tabla 'imagenes' asociadas a ese producto 'X'. Podría hacerlo con INNER JOIN pero no es muy lioso todo? espero vuestras sugerencias. gracias por todo...:corazon::corazon::corazon: |
Respuesta: qué es lo ideal para subir multiples archivos a la vezq No me leído todo porqué hay mucho texto..., pero la mejor opción es separar las imágenes en otra tabla y ligarlo con una clave de idproducto. A no ser que el numero de imágenes sea siempre 4 por ejemplo, o otro numero fijo, después utiliza la primera opción. |
Respuesta: qué es lo ideal para subir multiples archivos a la vezq La mejor solución es la segunda, en cuanto al inner join, no es tan lioso como parece, una vez haces un par de consultas, veras el poder que tiene :) Decídete por la segunda opción, no te arrepentirás. |
Respuesta: qué es lo ideal para subir multiples archivos a la vezq gracias a los dos....si...definitivamente me había decidido por la segunda opción. la duda que me asalta con la segunda opción es la siguiente: ¿cuántas consultas tengo que realizar a la base de datos? a ver, yo tengo pensado lo siguiente: una primera consulta para mostrar los datos de la tabla producto del producto en cuestión que sea. esta primera consulta me dará los campos 'Nombre' y 'Caracteristicas'. y una segunda consulta para mostrar las imágenes que tiene asociadas ese producto en cuestión y que están en la tabla imágenes. esta consulta se haría con el INNER JOIN. es correcto este planteamiento? a fin de cuentas lo que quiero es mostrar una ficha del producto en cuestión con sus datos y sus imágenes asociadas. |
Respuesta: qué es lo ideal para subir multiples archivos a la vezq Cita:
Con una sola consulta es suficiente, en esa consulta, debes usar inner join, si no sabes muy bien como hacerlo, pasate por el foro de mysql, o mirate algun manual, es sencillo, pero debes practicar :) saludos y animo! |
Respuesta: qué es lo ideal para subir multiples archivos a la vezq gracias por tu inestimable ayuda DooBie. echare un vistazo más detenidamente al INNER JOIN |
Respuesta: qué es lo ideal para subir multiples archivos a la vezq bueno. entonces si no lo he entendido mal, para obtener la ficha de un producto con todos los datos (nombre, características e imagenes asociadas) que están en dos tablas diferentes la consulta sería la siguiente: Código PHP: y si hubiera que relacionar otra tabla más, 'categorías'? como sería la consulta entonces? las tablas quedarían así: Tabla 'productos': idproducto-------campo autonumérico nombre-----------nombre del producto caracteristicas--caracteristicas del producto idcategoria_pto-categoría a la que pertenece el producto Tabla 'categorias': idcategoria-------campo autonumérico nombrecat--------nombre de la categoría Tabla 'imagenes': idimagen--------campo autonumérico de la imagen imagen----------ruta de la imagen idproducto_img-id del producto al que corresponde esa imagen |
Respuesta: qué es lo ideal para subir multiples archivos a la vezq hola....alguna sugerencia?:corazon::corazon::corazon: |
Respuesta: qué es lo ideal para subir multiples archivos a la vezq La consulta seria esa, aunque siempre es mejor poner el nombre de los campos que quieres en lugar del *. Para lo de las categorias, pues pones otro INNER JOIN ... ON .... Te digo lo primero (lo del *) por que es posible que tengas algun nombre igual en diferentes tablas (ej: id), entonces, cambias el SELECT * .... por SELECT productos.id AS prod_id, productos.nombre AS prod_nom, imagenes.id AS img_id, .... La consulta seria mas larga, pero creo que es la mejor forma de evitar duplicidad de campos |
Respuesta: qué es lo ideal para subir multiples archivos a la vezq entonces a la consulta anterior habría que añadirle otro innerjoin con AND INNER JOIN categorias es así? |
Respuesta: qué es lo ideal para subir multiples archivos a la vezq Cita:
SELECT .... FROM ... INNER JOIN tbl ON a=b INNER JOIN tbl2 ON c=d..... algo asi :) |
Respuesta: qué es lo ideal para subir multiples archivos a la vezq ok....gracias por todo DooBie....:corazon::corazon::corazon::corazon: |
Respuesta: qué es lo ideal para subir multiples archivos a la vezq Cita:
|
Respuesta: qué es lo ideal para subir multiples archivos a la vezq Tema trasladado a Ingenieria de Software y Gestion de Proyectos. |
| La zona horaria es GMT -6. Ahora son las 08:22. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.