Foros del Web » Programando para Internet » PHP »

Foreach con datos repetidos

Estas en el tema de Foreach con datos repetidos en el foro de PHP en Foros del Web. Buenas tardes, espero me puedan ayudar. Tengo una consulta que me devuelve algo así: id anuncio foto 1 anuncio 1 foto1 2 anuncio 1 foto2 ...
  #1 (permalink)  
Antiguo 09/08/2017, 13:59
 
Fecha de Ingreso: noviembre-2009
Mensajes: 89
Antigüedad: 14 años, 5 meses
Puntos: 1
Exclamación Foreach con datos repetidos

Buenas tardes, espero me puedan ayudar.

Tengo una consulta que me devuelve algo así:

id anuncio foto
1 anuncio 1 foto1
2 anuncio 1 foto2
3 anuncio 1 foto3
4 anuncio 1 foto4
5 anuncio 2 foto1
6 anuncio 2 foto2
7 anuncio 3 foto1
8 anuncio 4 foto1
9 anuncio 4 foto2
10 anuncio 4 foto3

Necesito que a la hora de hacer el foreach solo pueda obtener 1 registro de foto por anuncio, es decir, que se imprima algo así.

1 anuncio1 foto1
5 anuncio2 foto1
7 anuncio3 foto1
8 anuncio4 foto1

Esas fotos estan realcionadas en la base de datos los anuncios, lo que trato de hacer es un listado de los anuncios y sacar el thumbail de esas fotos.

Espero me entiendan jjaja, gracias de antemano
  #2 (permalink)  
Antiguo 09/08/2017, 14:35
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Foreach con datos repetidos

Saludo.

Bueno, creo que este tema es más de pre análisis más que de programación.
Es decir, lo digo sin ánimo de ofender, pues por ejemplo
se podría hacer la siguiente consulta a la bd

Código SQL:
Ver original
  1. SELECT id ,anuncio FROM forosdelweb GROUP BY anuncio;

Y esto ya nos traería los ids y descripción de anuncios correctos.

Ahora bien, como los thumbnails al parecer siempre son la foto1
entonces simplemente en el ciclo se dejaría fija esta foto para mostrarlo
en el listado.

Y así se evita hacerle más proceso al foreach del necesario.

Sin embargo, si el nombre de la imagen no es 'fijo' (es decir, no todas se llaman foto1) pero el campo foto siempre tiene el nombre correcto (y siempre el primer
registro es el thumbnail) se podría usar este query:

Código SQL:
Ver original
  1. SELECT id ,anuncio, foto FROM forosdelweb GROUP BY anuncio;


__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 09/08/2017, 19:31
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: Foreach con datos repetidos

Supongo que las fotos tienen un campo que la relaciona con los anuncios.
Lo que quieres hacer, primero , es obtener el MIN id_foto agrupando por id_anuncio.

Una vez tienes eso, la misma query que tienes ya, la filtras según el id_foto esté dentro de la query anterior:
.... WHERE id_foto in (SELECT MIN(id_foto) ....

Etiquetas: foreach, repetidos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:41.