Autor Tema: FEED XML construir fichero xml con PHP a partir de consulta base de datos MySql  (Leído 3363 veces)

DIEGORO_89

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
Hola, estoy construyendo un xml en php para un feed de productos, por medio de un while, he ingresdo todos los campos y funciona correctamente, hasta que llego a las imagenes. Para armar el link a la imagen, debo obtener el id de la imagen y el nombre del producto, todo deberia ser igual a lo ya hecho. El problema es que al tener mas de una imagen cada producto, la consulta devuelve mas de un resultado, y al xml queda bien armado, con la ruta bien, pero me replica X cantidad de veces cada producto, dependiendo de cuantas fotos tiene, en lugar de ingresar todas las fotos en el mismo producto. MI CODIGO;

Código: [Seleccionar]
while ($row = mysql_fetch_array ($result)) {
echo "<AD>";
echo "<ID><![CDATA[".$row['id']."]]></ID>";
echo "<TITLE><![CDATA[".$row['product_name']."]]></TITLE>";
echo "<DESCRIPTION><![CDATA[".$row['short_description']."]]></DESCRIPTION>";
echo "<DATE><![CDATA[".$row['date_add']."]]></DATE>";
echo "<EMAIL><![CDATA[".$row['business_email']."]]></EMAIL>";
echo "<LOCATION_COUNTRY><![CDATA[ARG]]]></LOCATION_COUNTRY>";
echo "<LOCATION_STATE><![CDATA[BA]]]></LOCATION_STATE>";
echo "<LOCATION_CITY><![CDATA[Mar del Plata]]]></LOCATION_CITY>";
echo "<ZIP_CODE><![CDATA[B7600]]]></ZIP_CODE>"; 
echo "<CATEGORY><![CDATA[378]]]></CATEGORY>";
echo "<PRICE><![CDATA[".$row['price']."]]]></PRICE>";
echo "<PHONE><![CDATA[".$row['phone']."]]]></PHONE>";
echo "<CONDITION><![CDATA[".$row['condition']."]]]></CONDITION>";
echo "
<tr><IMAGE_URL><![CDATA[http://www.mercadoautomotor.com.ar/".$row['id_product']."-thickbox_default/".$row['link_rewrite'].".jpg]]]></IMAGE_URL></tr>
";


echo "</AD>";
}
« Última modificación: 30 de Octubre 2015, 08:24 por Ogramar »

DIEGORO_89

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
Re:PROBLEMAS CON FEED XML
« Respuesta #1 en: 28 de Octubre 2015, 06:02 »
he intentado meter un while propio para las img pero me pasa lo mismo, no se me ocurre como resolver...

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2646
    • Ver Perfil
Hola, como siempre recomendamos a quienes escriben por primera vez en los foros, indicarte que para pegar código debes hacerlo según se explica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 para que el código quede bien formateado.

Para poder entender qué es lo que ocurre y cómo solucionarlo sería necesario más información:

Estructura de la base de datos: cuáles son las tablas implicadas y qué campos tienen esas tablas.

Consulta a la base de datos que realizas: pega el código de la consulta a la base de datos para analizarlo, es posible que la consulta no sea correcta y por eso te esté devolviendo duplicados.

Salu2

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".