Dzięki działa. Spróbuję jeszcze osiągnąć to samo za pomocą JOIN.
Dzięki za pomoc.
Ok poczytałem o tym JOIN i spróbowałem stworzyć zapytanie ale coś mi nie wychodzi:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in public_html/xml/feed.php on line 29Linia 29:
Cały skrypt:
<?php
$polaczenie=mysql_connect("localhost","login","pass"); /* Nawiązanie połączenia z bazą */
mysql_select_db("database",$polaczenie); /* Wybranie odpowiedniej bazy danych */
header('Content-type: application/xml; charset="utf-8"');
echo '<?xml version="1.0" encoding="utf-8"?>';
echo '<xmldata>';
echo '<naglowek>';
echo '<sklep_nazwa>sklep</sklep_nazwa>';
echo '<sklep_id>skleppl</sklep_id>';
echo '<czas>' . $dzisiaj = date("m.d.y") . '</czas>';
echo '</naglowek>';
echo '<kategorie>';
/* IDENTYFIKACJA KATEGORII */
$sql="SELECT * FROM ps_category_lang WHERE id_lang=6";
$wynik=mysql_query($sql); /* Zapytanie sql do bazy i zapisanie wyniku w $wynik */
while($linia=mysql_fetch_array($wynik)) /* Pętla dopóki istnieją dane */
{
echo '<kategoria><id_kategoria>'. $linia[id_category] .'</id_kategoria><nazwa_kategoria>'. $linia[name] .'</nazwa_kategoria><url_kategoria>http://www.adres.pl/'. $linia[id_category] .'-'. $linia[link_rewrite] .'</url_kategoria></kategoria>';
}
/* KONIEC KATEGORII */
echo '</kategorie>';
echo '<produkty>';
/* IDENTYFIKACJA PRODUKTU */
$sql2="SELECT a.id_product, a.quanity, a.price, a.id_category_default, a.supplier_reference, b.id_product, b.link_rewrite FROM ps_product AS a LEFT JOIN ps_product_lang AS b ON a.id_product=b.id_product";
$wynik2=mysql_query($sql2);
while($rowek=mysql_fetch_array($wynik2))
{
echo '<produkt><id_produkt>'. $rowek[a.id_product] .'</id_produkt><stan_magazynowy>'. $rowek[a.quantity] .'</stan_magazynowy><produkt_kategoria>'. $rowek[a.id_category_default] .'</produkt_kategoria><cena>'. round($rowek[a.price], 2) .'</cena><numer_ref_producenta>'. $rowek[a.supplier_reference] .'</numer_ref_producenta><link>'. $rowek[b.link_rewrite] .'</link></produkt>';
}
echo '<vendor></vendor>'; // producent
echo '<desc></desc>'; //nazwa produktu
echo '<foto></foto>'; //zdjecie produktu
echo '<url></url>'; // link do produktu
/* KONIEC PRODUKTU */
echo '</produkty>';
echo '</xmldata>';
mysql_close($polaczenie);
?>
Budowa tabeli
ps_product:
id_product,
quanity,
price,
id_category_default,
supplier_reference.
Budowa tabeli
ps_product_lang:
id_product,
name,
link_rewrite.
Rozumiem że coś nie tak jest z zapytaniem, jak powinno poprawnie wyglądać?
Okazało się że była literówka w słowie quantity.
Jednak dalej nie działa, bo skrypt się wykonuje ciągle i zero wyników.
a.id_product zamienić na id_product i działa.
Temat do zamknięcia.