Hola tengo en la base de datos ids guardados por comas, bién lo que quiero hacer es poderlos sacar uno por uno. Esto lo quiero conseguir con php.
Diganme ideas como como hacerlo para llevarlo a practica.
Saludos.
| |||
Respuesta: Ids separados por comas Si $campo es el contenido del campo multivaluado con ids separados por comas $arrCampo=explode(",",$campo); $arrCampo es un array con los ids en sus nodos. Tienes claro que ese campo multivaluado es un error de diseño.
__________________ Quim -------------------------------------------------- Ayudar a ayudar es una buena práctica!!! Y da buenos resultados. Última edición por quimfv; 10/11/2014 a las 03:11 |
| |||
Respuesta: Ids separados por comas
Código PHP:
Ver original O cualquier otra forma de recorrer el contenido del array para imprimirlo. O claro como no dices nada de como quieres imprimirlo echo $campo tambien te lo imprimira (1,3,5,6,7,8100,600....)
__________________ Quim -------------------------------------------------- Ayudar a ayudar es una buena práctica!!! Y da buenos resultados. |
| ||||
Respuesta: Ids separados por comas Si como te e comentado antes a la hora de convertirlo en array y imprimirlo no hay problema, lo tengo de esta manera.
Código PHP:
Ver original El resultado sería: 12345 Pero a la hora de consultar a DB solo me da el ultimo, en este caso el 5 y quiero que me compruebe todos. No sé si se me entiende. Saludos. |
| |||
Respuesta: Ids separados por comas Muestra nos la estructura de la tabla y la consulta que usas para obtener los datos, si los id estan en un campo multivaluado, como se entiende en tu primer post Cita: es muy dificil obtener con una querry solo el último valor ....Ids separados por comas Hola tengo en la base de datos ids guardados por comas,... $a = '1,2,3,4,5'; muestra como le das valor a $a
__________________ Quim -------------------------------------------------- Ayudar a ayudar es una buena práctica!!! Y da buenos resultados. |
| ||||
Respuesta: Ids separados por comas La tabla sería: CATEGORIAS id - nombre 1 - .......... 2 - .......... 3 - .......... 4 - Mi categoria SUBCATEGORIAS id - nombre 1 - Subcategoria1 2 - Subcategoria2 3 - Subcategoria3 RESULTADO id - categoria_id - subcategoria_id 1 - 4 - 1,2,3 Y la consulta la realizaria. Compruebo categoria, resultado: $rs_cat['id']. Ahora compruebo las subcategorias, resultado: $rs_subcat['id']. Y finalmente saco el resultado: Consulta: SELECT * FROM resultado WHERE categoria_id = $rs_cat['id'] Ahora si muestro datos el resultado seria, como cojeria categoria_id = 4, me mostraria que tiene las subcategorias 1,2,3. Y ahora faltaria con esos ids decir los nombre de las subcategorias que sean para categoria 4 en este caso. No se si me explicado bien, lo e echo asi por encima para aclarar un poco, pero si la idea de hacerlo no es correcta me gustaría también alguna idea de como conseguir esto. EN RESUMEN: quiero decir y sacar los nombres de varios ids de un campo, seria como que la categoria es el patron y en ese paton tiene varias subcategorias. Un saludo. |
| ||||
Respuesta: Ids separados por comas Tienes al menos dos problemas: - El modelo de datos que tienes en esa tabla es completa y absolutamente erróneo. Representa una relación ed cardinalidad 1:N entre una categoría y sus subcategorías, pero estás creantdo para administrarla un campo multivaluado, lo que es un absoluto fallo del modelo relacional. Están prohibidos en ese tipo de esquema, y sólo sirven para generarte problemas en las consultas como los que estás teniendo. - Partiendo del modelo mal construido que tienes se puede trabajar programáticamente. Pero desde el punto de vista de PHP, cada consulta única por subcategoría debería ir recopilando los sucesivos nombres de IDs encontrados de cada una para luego mostrarlas, pero no sabemos cómo lo estás haciendo. No posteas código PHP. Mirando desde la optica de datos: - Si cada subcategoría sólo puede pertenecer a una única categoría padre, es una relación 1:N, que requiere solamente un campo adicional, donde se ponga la FK que apunta a la categoría superior. Esto sería una relación padre-hijo, normal y muy usual, sin demasiadas dificultades para hacer la consulta, evitando campos multivaluados que no se necesitan y solo ensucian la base con datos inconsistentes (eventualmente). - Si cada subcategoria puede serlo de más de una categoría padre, sería una relacion N:N, y se necesita obligatoriamente una tabla adicional que administre la relación. Con lo que el modelo que tienes no cumple ni por casualidad. ¿Cuál de las dos es?
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| ||||
Respuesta: Ids separados por comas Lo que intento es una relación N:N, pero bueno visto de está manera tienes toda la razón antes que nada construire la estructura mejor para intentar llevar a cavo lo que quiero conseguir. Saludos. |
| |||
Respuesta: Ids separados por comas Busca la solución para una relación N:M es de libro y veras que todo es mucho mas facil.
__________________ Quim -------------------------------------------------- Ayudar a ayudar es una buena práctica!!! Y da buenos resultados. |
| ||||
Respuesta: Ids separados por comas Cita: Te recomiendo entonces que primero resuelvas la estructura de datos (para eso estan los subforos de Bases de Datos), antes de intentar la implementación en PHP.Resuelto el esquema de datos, las consultas y su uso en la aplicación se simplefican en muchos sentidos..
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
Etiquetas: |