Shop Support News Archive - Shopbetreiber News -> Forum : xt eCommerce Templates Module SEO Support: Version 3.04sp2.1 Support: Externe Sql Abfrage
zahni9999
26.10.2006, 09:46
hallo zusammen,
da ich mich mit sql nun mal gar nicht auskenne, und die daten in der db sehr verzweigt abgelegt sind, brauche ich eure hilfe.
ich möchte in einer externen datei (derselbe server, jedoch nicht shop intern) eine db abfrage starten, so das mir dann die variablen name, bild, preis, und wenn vorhanden spezial preis und die jeweils passende id zum product zur verfügung stehen.
zb.:
sql frage = SELECT name, preis, bild, spezial preis FROM tabelle products, products_description
ich möchte auch einstellen, wieviele abgefragt werden, zb die letzten 10 hinzugefügten artikel, dies müßte doch über die abfrage date_added möglich sein?
zb gebe ich in der zugehörigen config datei an, 10 produkte, und erhalte die letzten 10 oder eben 15, je nachdem, was ich in der config angebe.
nur habe ich eben keine ahnung, wie ich diese verschachtelung der tabellen abfrage, und bitte euch um hilfe.
Hallo Zahni,
hier meldet sich nun ein SQL-Profi :D
select
p.products_id,
pd.products_name,
p.products_price,
p.products_image,
p.products_date_added,
s.specials_new_products_price
from (products p INNER JOIN products_description pd ON p.products_id = pd.products_id) LEFT JOIN specials s ON p.products_id = s.products_id
where p.products_status = '1'
and pd.language_id = '2'
and IF(s.specials_new_products_price>0, s.status = '1', '1')
order by
p.products_date_added DESC
LIMIT 0,10
war aber auch eine schwere Geburt muss ich sagen :lol:
mit LIMIT tust du die Datensätze eingrenzen, 0,10 heißt dann vom ersten datensatz aus, 10 Stück (sortiert nach date_Added!)
ich habe da das expire_date noch nicht eingebaut, brauchst du das auch? (prüfen ob special abgelaufen ist (datum))
ich prüfe da nur den status der sonderangebote
Gruß
Steffen
zahni9999
26.10.2006, 14:08
nun, das schaut ja schon genial aus, an das ablaufen der spezials habe ich gar nicht gedacht, kannst dies noch relativ einfach hinzufügen?
so, nun noch zu dem limit, ich habe eine config included, in der ich sage $anzahl = 10 , wie sage ich dem limit das er die variable nehmen soll?
einfach so:
LIMIT 0,$anzahl
?
und dann noch meine frage, wie kann ich jetzt noch das was ausgegeben wurde als array pro produkt abfragen?
ich möchte ein rss feed erzeugen, was ich dann nat. der community auch zur verfügung stellen werde.
(wenn ich es denn so hinbekomme, wie ich es mir denke) ;-)
xml header erstellen
.
.
.
ausgabe der sql abfrage:
****echo "<image>";
****echo "<title>".$product['products_name']."</title>";
****echo "<url>$linkimage; </url>";
****echo "<link>$link; </link>";
****echo "</image>";
****echo " ";
****echo "<item>";
****echo "<title>".$product['products_name']."</title>";
****echo "<link>$link; </link>";
****echo "<description>Item Price:**$price </description>";
****echo "</item>";
ab hier soll dann wieder nach oben springen, und das so lange, bis die 10 produkte fertig sind.
.
.
.
ich hoffe, du verstehst mich ein klein wenig.
Hi,
ich glaube so sollte es gehen (mitm Ablaufdatum)
sql="select
p.products_id,
pd.products_name,
p.products_price,
p.products_image,
p.products_date_added,
s.specials_new_products_price
from (products p INNER JOIN products_description pd ON p.products_id = pd.products_id) LEFT JOIN specials s ON p.products_id = s.products_id
where p.products_status = '1'
and pd.language_id = '2'
and IF(s.specials_new_products_price>0, s.status = '1', '1')
and IF(s.expires_date>0, s.expires_date>now(), '1')
order by
p.products_date_added DESC
LIMIT 0," . $anzahl
wie man da jetzt die ausgabe macht, kannst du einach in xtc-dateien mal nachschauen, product_listing.php oder so...
wenn du nicht weiterkommst, dann schreib mir mal den kompletten skript
Gruß
Steffen
Yel Nats
30.10.2006, 16:15
Ich bekomme das nicht hin!
Hat jemand mal nen Beispiel?
kunigunde
30.10.2006, 16:19
ist doch schon fertig guggst du hier (http://www.ecombase.de/forum/index.php?showtopic=2375)
Yel Nats
30.10.2006, 16:21
Lässt sich das nicht irgendwie hierfür anpassen?
http://www.ecombase.de/forum/index.php?sho...ic=2402&hl= (http://www.ecombase.de/forum/index.php?showtopic=2402&hl=)
vBulletin® v3.8.4, Copyright ©2000-2012, Jelsoft Enterprises Ltd.