Alle Zeiten sind UTC + 1 Stunde

Forumsregeln


xt:Commerce ist ein sogenanntes "Open-Source" Shopsystem und untersteht der GPL-Lizenz.
Nur PLUS-Mitglieder können neue Themen starten!
:plusbereich:
 
Autor Nachricht
BeitragVerfasst: Di 29. Mai 2012, 10:28 
Offline
Mitglied seit:
So 18. Januar 2009, 21:27

Beiträge: 567
Danke vergeben: 15 mal
Danke erhalten: 16 mal
Postleitzahl: 24000
Land: Deutschland
Firmenname: Versandhandel
Hallo Zusammen :winken:

Wir haben im shop diverse Datenbankfelder mit informationen hinterlegt, die sowohl als Content als auch für Keywords UND für einen geplanten Artikelfilter genutzt werden können.

Darum habe ich nun ein wenig gebastelt um mehrer Felder aus der Tabelle "Products" auszulesen und in nur ein einziges Feld in Products_description (products_meta_keywords) wieder einzufüllen - und zwar natürlich dem jeweiligen Artikel zugeordnet.

Da ein einfaches INSERT INTO hier nicht greift, da es nicht möglich scheint mehrer Felder in ein einziges Feld zu schreiben ...hab ich mal angefangen :
Code:
<?php
/* -----------------------------------------------------------------------------------------
   $Id:  V0.0001  $

   XT-Commerce - community made shopping
   http://www.xt-commerce.com

   Copyright (c) 2005 XT-Commerce

   Released under the GNU General Public License
   ---------------------------------------------------------------------------------------*/
   $keywords_query = xtc_db_query("= SELECT distinct
                        p.products_id,
                        p.products_price,
                        p.products_model,
                        p.products_ean,
                        p.products_shippingtime,
                    p.products_feld1,
                    p.products_feld2,
                    p.products_feld17,
                    p.products_feld18,                   
                    p.products_feld20,
                    p.products_feld35,
                    p.products_feld36,
                    p.products_feld15,
                    p.products_feld16,
                    p.products_feld7,
                    p.products_feld21a,
                    p.products_feld32,
                    p.products_feld33,
                    p.products_feld34,
                        p.products_tax_class_id,
                    p.products_vpe,
                    p.products_vpe_status,
                    p.products_vpe_value,
                        pd.products_name,
                        pd.products_short_description,
                      pd.products_meta_keywords,
                        pd.products_description "   
   "FROM ".TABLE_PRODUCTS." AS p AND ".TABLE_PRODUCTS_DESCRIPTION." AS pd WHERE p.products_id = pd.products_id ");
   $keywords = $keywords_query ;
   
   $ean = $keywords('products_ean');   
   $key1 = $keywords('products_feld1');
   $key2 = $keywords('products_feld2');
   $key17 = $keywords('products_feld17');
   $key18 = $keywords('products_feld18');
   $key20 = $keywords('products_feld20');
   $key32 = $keywords('products_feld32');
   $key33 = $keywords('products_feld33');
   $key34 = $keywords('products_feld34');
   $key35 = $keywords('products_feld35');
   $key36 = $keywords('products_feld36');
   
   if ($keywords('products_feld15') == '1') {
   $key15 == 'test1';
}
   if ($keywords('products_feld15') == '2' ) {
   $key15 == 'test2';
}   
   if ($keywords('products_feld15') == '3' ) {
   $key15 == 'test3';
}   
   if ($keywords('products_feld15') == '4' ) {
   $key15 == '';
}   
   if ($keywords('products_feld15') == '5' ) {
   $key15 == '';
}   
   if ($keywords('products_feld15') == '6' ) {
   $key15 == '';
}   
   if ($keywords('products_feld15') == '7' ) {
   $key15 == '';
}   
   if ($keywords('products_feld15') == '8' ) {
   $key15 == '';
}   
   if ($keywords('products_feld15') == '9' ) {
   $key15 == '';
}   
   if ($keywords('products_feld15') == '10' ) {
   $key15 == '';
}      
   if ($keywords('products_feld15') == '11' ) {
   $key15 == '';
}   

   if ($keywords('products_feld16') == '1' ) {
   $key16 == '';
}   
   if ($keywords('products_feld16') == '2' ) {
   $key16 == '';
}   
   if ($keywords('products_feld16') == '3' ) {
   $key16 == '';
}   
   if ($keywords('products_feld16') == '4' ) {
   $key16 == '';
}   
   if ($keywords('products_feld16') == '5' ) {
   $key16 == '';
}   
   if ($keywords('products_feld16') == '6' ) {
   $key16 == '';
}   
   if ($keywords('products_feld16') == '7' ) {
   $key16 == '';
}   
   if ($keywords('products_feld16') == '8' ) {
   $key16 == '';
}   
   if ($keywords('products_feld16') == '9' ) {
   $key16 == '';
}   
   if ($keywords('products_feld16') == '10' ) {
   $key16 == '';
}   
   if ($keywords('products_feld7') == '1' ) {
   $key7 == '';
}   
   if ($keywords('products_feld7') == '2' ) {
   $key7 == '';
}
   if ($keywords('products_feld7') == '3' ) {
   $key7 == '';
}
   if ($keywords('products_feld7') == '4' ) {
   $key7 == '';
}
   if ($keywords('products_feld7') == '5' ) {
   $key7 == '';
}
   if ($keywords('products_feld7') == '6' ) {
   $key7 == '';
}
   if ($keywords('products_feld7') == '7' ) {
   $key7 == '';
}
   if ($keywords('products_feld7') == '8' ) {
   $key7 == '';
}
   if ($keywords('products_feld7') == '9' ) {
   $key7 == '';
}
   if ($keywords('products_feld21a') == '1' ) {
   $key21a == '';
}
   if ($keywords('products_feld21a') == '2' ) {
   $key21a == '';
}
   if ($keywords('products_feld21a') == '3' ) {
   $key21a == '';
}
   if ($keywords('products_feld21a') == '4' ) {
   $key21a == '';
}
   if ($keywords('products_feld21a') == '5' ) {
   $key21a == '';
}
   if ($keywords('products_feld21a') == '6' ) {
   $key21a == '';
}
   if ($keywords('products_feld21a') == '7' ) {
   $key21a == '';
}
   if ($keywords('products_feld21a') == '8' ) {
   $key21a == '';
}
   if ($keywords('products_feld21a') == '9' ) {
   $key21a == '';
}

$Keywords_insert = $ean && $key15 && $key16 && $key7 && $key21a && $key1 && $key2 && $key17 && $key18 && $key20 && $key32 && $key33 && $key34 && $key35 && $key36 ;

$xtc_db_query("insert into " . TABLE_PRODUCTS_DESCRIPTION . " (products_meta_keywords) values " . $keywords_insert . " WHERE p.products_id = pd.products_id ");
?>


momentan bekomm ich folgende Fehlermeldung:
Zitat:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in xxxxxxxx/keywordinsert.php on line 40

das ist diese Zeile:
Code:
   "FROM ".TABLE_PRODUCTS." AS p AND ".TABLE_PRODUCTS_DESCRIPTION." AS pd WHERE p.products_id = pd.products_id ");


wobei mir klar ist das da noch viel mehr im Argen liegt - und ich mir auch nicht sicher bin ob die Abfrage mit der ID = ID ausreicht...
aber mal schritt für schritt....wäre klasse wenn mir einer weterhelfen könnte ;-) danke

achso...vergessen... in einigen Feldern wie z.B. dem feld15 sind nur Zahlen hinterlegt ( Dropdownfelder) denen ich natürlich später den richtigen Wert zuordnen müsste...darum der Aufbau dort


Nach oben
  
 
BeitragVerfasst: Di 29. Mai 2012, 10:52 
Benutzeravatar
Online
Mitglied seit:
Di 29. Dezember 2009, 12:01

Beiträge: 1427
Wohnort: Die Stadt mit dem Problem-BER
Danke vergeben: 5 mal
Danke erhalten: 40 mal
Postleitzahl: 10000
Land: Deutschland
Branche: Zeugs und Kram
Mach mal ans Ende von Zeile 39 'nen Punkt - oder lass am Ende von 39 und am Anfang von 40 die Anführungszeichen weg.

_________________
Töginger Fasan in Blätterteig mit Weinlauch - nur 24,95 Euro je Portion*

* Preis zzgl. Fasankosten


Nach oben
  
 
BeitragVerfasst: Di 29. Mai 2012, 11:18 
Offline
Mitglied seit:
So 18. Januar 2009, 21:27

Beiträge: 567
Danke vergeben: 15 mal
Danke erhalten: 16 mal
Postleitzahl: 24000
Land: Deutschland
Firmenname: Versandhandel
ja danke hab ich nu gemacht... dabei gemerkt das ich xtc_db_query includieren musste...
aber dann:
Code:
<?php
/* -----------------------------------------------------------------------------------------
   $Id:  V0.0001  $

   XT-Commerce - community made shopping
   http://www.xt-commerce.com

   Copyright (c) 2005 XT-Commerce

   Released under the GNU General Public License
   ---------------------------------------------------------------------------------------*/
   include ('/kunden/276230_25479/mega/inc/xtc_db_connect.inc.php');
   include ('/kunden/276230_25479/mega/inc/xtc_db_fetch_array.inc.php');
   include ('/kunden/276230_25479/mega/includes/application_top.php');   
   
   $keywords_query = xtc_db_query("= SELECT
                        p.products_id,
                        p.products_ean,
                    p.products_feld1,
                    p.products_feld2,
                    p.products_feld17,
                    p.products_feld18,                   
                    p.products_feld20,
                    p.products_feld35,
                    p.products_feld36,
                    p.products_feld15,
                    p.products_feld16,
                    p.products_feld7,
                    p.products_feld21a,
                    p.products_feld32,
                    p.products_feld33,
                    p.products_feld34,
                        pd.products_name,
                        pd.products_id,                   
                        pd.products_short_description,
                      pd.products_meta_keywords,
                        pd.products_description    
   FROM ".TABLE_PRODUCTS." AS p AND ".TABLE_PRODUCTS_DESCRIPTION." AS pd WHERE p.products_id = pd.products_id ");
   $keywords = $keywords_query ;
   
   $ean = $keywords('products_ean');   
   $key1 = $keywords('products_feld1');
   $key2 = $keywords('products_feld2');
   $key17 = $keywords('products_feld17');
   $key18 = $keywords('products_feld18');
   $key20 = $keywords('products_feld20');
   $key32 = $keywords('products_feld32');
   $key33 = $keywords('products_feld33');
   $key34 = $keywords('products_feld34');
   $key35 = $keywords('products_feld35');
   $key36 = $keywords('products_feld36');
   
   if ($keywords('products_feld15') == '1') {
   $key15 == 'test1';
}
   if ($keywords('products_feld15') == '2' ) {
   $key15 == 'test2';
}   

$Keywords_insert = $ean && $key15 && $key16 && $key7 && $key21a && $key1 && $key2 && $key17 && $key18 && $key20 && $key32 && $key33 && $key34 && $key35 && $key36 ;

$xtc_db_query("insert into " . TABLE_PRODUCTS_DESCRIPTION . " (products_meta_keywords) values " . $keywords_insert . " WHERE p.products_id = pd.products_id ");
?>


wirft er mir den raus:
Zitat:
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= SELECT p.products_id, p.products_ea' at line 1

= SELECT p.products_id, p.products_ean, p.products_feld1, p.products_feld2, p.products_feld17, p.products_feld18, p.products_feld20, p.products_feld35, p.products_feld36, p.products_feld15, p.products_feld16, p.products_feld7, p.products_feld21a, p.products_feld32, p.products_feld33, p.products_feld34, pd.products_name, pd.products_id, pd.products_short_description, pd.products_meta_keywords, pd.products_description FROM products AS p AND products_description AS pd WHERE p.products_id = pd.products_id

[XT SQL Error]


kann da oben aber nix entdecken... kommas sind alle wo sie hinsollen... :gruebel:


Nach oben
  
 
BeitragVerfasst: Di 29. Mai 2012, 11:41 
Offline
Mitglied seit:
So 18. Januar 2009, 21:27

Beiträge: 567
Danke vergeben: 15 mal
Danke erhalten: 16 mal
Postleitzahl: 24000
Land: Deutschland
Firmenname: Versandhandel
doch da war ein = das da nicht hingehörte ^^
aber nun mag er die nicht:
Zitat:
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND products_description AS pd WHERE (p.products_id = pd.products_id)' at line 20

SELECT p.products_id, p.products_ean, p.products_feld1, p.products_feld2, p.products_feld17, p.products_feld18, p.products_feld20, p.products_feld35, p.products_feld36, p.products_feld15, p.products_feld16, p.products_feld7, p.products_feld21a, p.products_feld32, p.products_feld33, p.products_feld34, pd.products_name, pd.products_id, pd.products_meta_keywords FROM products AS p AND products_description AS pd WHERE (p.products_id = pd.products_id)


stehen tut da aber ja
Code:
                     pd.products_meta_keywords   FROM ".TABLE_PRODUCTS." AS p AND ".TABLE_PRODUCTS_DESCRIPTION." AS pd WHERE (p.products_id = pd.products_id) ");


Nach oben
  
 
BeitragVerfasst: Di 29. Mai 2012, 11:43 
Moderator Moderator
Benutzeravatar
Offline
Mitglied seit:
Fr 5. Oktober 2007, 16:56

Beiträge: 3552
Danke vergeben: 17 mal
Danke erhalten: 19 mal
Postleitzahl: 31234
Land: Deutschland
Branche: Motorradversandhandel für Moto Guzzi / Ducati und andere ital. Motorräder
Selbstverständlich kann MySQL mehrere Daten in ein Feld schreiben. Der Befehl dazu heißt CONCAT: http://www.google.de/url?sa=t&rct=j&q=& ... 0_9RP_qD_Q

Um eine Liste aufzubauen würde ich aber eher CONCAT_WS benutzen. Dann brauchst Du nur einmal den Wuschtrenner (Komma, Leerzeichen) anzugeben:
Code:
UPDATE products SET
wunschfeld = CONCAT_WS(' ', products_ean, products_feld1, products_feld2)
WHERE
bedingung

Der UPDATE geht natürlich auch über mehrere Tabellen.

_________________
Bild


Nach oben
  
 
BeitragVerfasst: Di 29. Mai 2012, 12:42 
Offline
Mitglied seit:
So 18. Januar 2009, 21:27

Beiträge: 567
Danke vergeben: 15 mal
Danke erhalten: 16 mal
Postleitzahl: 24000
Land: Deutschland
Firmenname: Versandhandel
Danke Teileversand, ich aber um ein php-script nicht herumkomme durch die Dropdowns in denen ja nur Zahlen stehen die aber zugeordnet werden müssen....
hab ich das nun so gemacht:
Code:
<?php
/* -----------------------------------------------------------------------------------------
   $Id:  V0.0001  $

   XT-Commerce - community made shopping
   http://www.xt-commerce.com

   Copyright (c) 2005 XT-Commerce

   Released under the GNU General Public License
   ---------------------------------------------------------------------------------------*/
   include ('/kunden/276230_25479/mega/inc/xtc_db_connect.inc.php');
   include ('/kunden/276230_25479/mega/inc/xtc_db_fetch_array.inc.php');
   include ('/kunden/276230_25479/mega/includes/application_top.php');   
 function metakeys ($keywords_insert) { 
   $keywords_query = xtc_db_query ("SELECT
                        p.products_id,
                        p.products_ean,
                    p.products_feld1,
                    p.products_feld2,
                    p.products_feld17,
                    p.products_feld18,                   
                    p.products_feld20,
                    p.products_feld35,
                    p.products_feld36,
                    p.products_feld15,
                    p.products_feld16,
                    p.products_feld7,
                    p.products_feld21a,
                    p.products_feld32,
                    p.products_feld33,
                    p.products_feld34,
                        pd.products_name,
                        pd.products_id,                   
                      pd.products_meta_keywords   FROM ".TABLE_PRODUCTS." p, ".TABLE_PRODUCTS_DESCRIPTION." pd WHERE (p.products_id = pd.products_id) ");
   $keywords = $keywords_query ;
   
   $ean = $keywords('products_ean');   
   $key1 = $keywords('products_feld1');
   $key2 = $keywords('products_feld2');
   $key17 = $keywords('products_feld17');
   $key18 = $keywords('products_feld18');
   $key20 = $keywords('products_feld20');
   $key32 = $keywords('products_feld32');
   $key33 = $keywords('products_feld33');
   $key34 = $keywords('products_feld34');
   $key35 = $keywords('products_feld35');
   $key36 = $keywords('products_feld36');
   
   if ($keywords('products_feld15') == '1') {
   $key15 == 'test1';
}
   if ($keywords('products_feld15') == '2' ) {
   $key15 == 'test2';
}   
   if ($keywords('products_feld15') == '3' ) {
   $key15 == 'test3';
}   
//hier sind noch zig weitere felder aber ich kürz das mal ^^
xtc_db_query("UPDATE products_description SET products_meta_kewords = CONCAT_WS(',' "$ean" , "$key15" , "$key16" , "$key7" , "$key21a" , "$key1" , "$key2" , "$key17" , "$key18" , "$key20" , "$key32" , "$key33" , "$key34" , "$key35" , "$key36") WHERE p.products_id = pd.products_id ");
}
echo test4
?>

lasse ich nun die
Code:
xtc_db_query("UPDATE products_description SET products_meta_kewords = CONCAT_WS(',' $ean' , '$key15' , '$key16' , '$key7' , '$key21a' , '$key1' , '$key2' , '$key17' , '$key18' , '$key20' , '$key32' , '$key33' , '$key34' , '$key35' , '$key36') WHERE p.products_id = pd.products_id ");

in hochkommas...läuft der fehlerfrei durch trägt aber nichts ins feld products_meta_keywords der tabelle products_description ein

löse ich das mit "" wirft er mir aber nen Fehler raus ... :durchdreh:


Nach oben
  
 
BeitragVerfasst: Di 29. Mai 2012, 13:42 
PLUS-Mitglied PLUS-Mitglied
Offline
Mitglied seit:
Do 5. Juni 2008, 12:10

Beiträge: 903
Danke vergeben: 2 mal
Danke erhalten: 23 mal
Postleitzahl: 25335
Land: Deutschland
clever hat geschrieben:
in hochkommas...läuft der fehlerfrei durch trägt aber nichts ins feld products_meta_keywords der tabelle products_description ein


...

Code:
if ($keywords('products_feld15') == '1') {
   $key15 == 'test1';
}


Der Code macht keinen Sinn. == ist keine Zuweisung. $key15 wird somit NICHT den Wert 'test1' erhalten, was Du aber vermutlich beabsichtigst, wenn ich das so lese.

_________________
Webs - Online Shop, Webs / ECB - Shop Support Forum


Nach oben
  
 
BeitragVerfasst: Di 29. Mai 2012, 13:50 
Moderator Moderator
Benutzeravatar
Offline
Mitglied seit:
Fr 5. Oktober 2007, 16:56

Beiträge: 3552
Danke vergeben: 17 mal
Danke erhalten: 19 mal
Postleitzahl: 31234
Land: Deutschland
Branche: Motorradversandhandel für Moto Guzzi / Ducati und andere ital. Motorräder
Wenn Du eh die Abfrage in PHP auswertest, dann würde ich auch das Ergebnis in PHP berechnen. Da bist Du etwas flexibler. Es wäre praktische, wenn Du mit einem Array arbeiten würdest wie $key[1] ... $key[20]. Dann könntest Du mit einem Befehl das $key Array in einen einzigen String wandeln. So musst Du die Keys von Hand zusammenbauen. Gibt verschiedene Wege, hier mal die simpelste:
Code:
$key_ergebnis = $key1 . " " . $key2 . " " . $key...  ;

Der passende xtc SQL Befehl lautet dann
Code:
xtc_db_query("UPDATE products_description SET products_meta_kewords = " . $key_ergebnis . " WHERE p.products_id = pd.products_id ");



Zitat:
Der Code macht keinen Sinn. == ist keine Zuweisung. $key15 wird somit NICHT den Wert 'test1' erhalten, was Du aber vermutlich beabsichtigst, wenn ich das so lese.
Dürfte wohl doch ein Fehler sein, da ich es so interpretiere als sollten bei bestimmten Daten in $key15 Testwerte zum Prüfen gespeichert werden. Daher ändern in
Code:
if ($keywords('products_feld15') == '1') {
   $key15 = 'test1';
}

_________________
Bild


Nach oben
  
 
BeitragVerfasst: Di 29. Mai 2012, 14:53 
Offline
Mitglied seit:
So 18. Januar 2009, 21:27

Beiträge: 567
Danke vergeben: 15 mal
Danke erhalten: 16 mal
Postleitzahl: 24000
Land: Deutschland
Firmenname: Versandhandel
juhu das hilft mir erstmal weiter... ich bau es dann mal weiter zusammen :)

wobei eben einige tausend Artikel mit unterschiedlichen Werten versehen sind - ist das ergebnis Feld 1 bei Artikel 1 noch "grün", so ist es bei Artikel 2 schon "blau" ...
Auch die Felder in denen Ziffern stehen sind die Werte zwar stets mit gleicher Bedeutung - also "1" ist immer Warengruppe 1 und "5" immer WG5...

dies muss jedoch bei den Metas dann ja auch dem richtigen Produkt zugeordnet werden...
na mal sehen wie weit ich komme :-) erstmal danke sehr :blumen:


Nach oben
  
 
BeitragVerfasst: Di 29. Mai 2012, 15:05 
Benutzeravatar
Offline
Mitglied seit:
Mo 17. Dezember 2007, 09:01

Beiträge: 995
Wohnort: Quickborn
Danke vergeben: 3 mal
Danke erhalten: 0 mal
Postleitzahl: 25451
Land: Deutschland
Firmenname: Björn Peters Warenhandel
Branche: Kindermode - für Kinder die gerne draussen sind
mysql mag an der Stelle das "AS" nicht...

statt

Code:
from products as p


Code:
from products p

_________________
Gruß
Björn

unser Kindermoden-Shop
Tips für Reisen mit und für Kindern
KiMoB.de auf Facebook
KiMoB.de bei Google+


Nach oben
  
 
BeitragVerfasst: Di 29. Mai 2012, 15:28 
Offline
Mitglied seit:
So 18. Januar 2009, 21:27

Beiträge: 567
Danke vergeben: 15 mal
Danke erhalten: 16 mal
Postleitzahl: 24000
Land: Deutschland
Firmenname: Versandhandel
so und nochmal ich....
Code:
<?php
/* -----------------------------------------------------------------------------------------
   $Id:  V0.0001  $

   XT-Commerce - community made shopping
   http://www.xt-commerce.com

   Copyright (c) 2005 XT-Commerce

   Released under the GNU General Public License
   ---------------------------------------------------------------------------------------*/
   include ('/kunden/276230_25479/mega/inc/xtc_db_connect.inc.php');
   include ('/kunden/276230_25479/mega/inc/xtc_db_fetch_array.inc.php');
   include ('/kunden/276230_25479/mega/includes/application_top.php');   
 function metakeys ($keywords_insert) { 
   $keywords_query = xtc_db_query ("SELECT
                        p.products_id,
                        p.products_ean,
                    p.products_feld1,
                    p.products_feld2,
                    p.products_feld17,
                    p.products_feld18,                   
                    p.products_feld20,
                    p.products_feld35,
                    p.products_feld36,
                    p.products_feld15,
                    p.products_feld16,
                    p.products_feld7,
                    p.products_feld21a,
                    p.products_feld32,
                    p.products_feld33,
                    p.products_feld34,
                        pd.products_name,
                        pd.products_id,                   
                      pd.products_meta_keywords   FROM ".TABLE_PRODUCTS." p, ".TABLE_PRODUCTS_DESCRIPTION." pd WHERE (p.products_id = pd.products_id) ");
   $keywords = $keywords_query ;
   $keywords = $keywords;
   
   $ean = $keywords('products_ean');   
   $key1 = $keywords('products_feld1');
   $key2 = $keywords('products_feld2');
   $key17 = $keywords('products_feld17');
   $key18 = $keywords('products_feld18');
   $key20 = $keywords('products_feld20');
   $key32 = $keywords('products_feld32');
   $key33 = $keywords('products_feld33');
   $key34 = $keywords('products_feld34');
   $key35 = $keywords('products_feld35');
   $key36 = $keywords('products_feld36');
   
   if ($keywords('products_feld15') == 1) {
   $key15 = 'test1';
}
   if ($keywords('products_feld15') == 2 ) {
   $key15 = 'test2';
}   
   if ($keywords('products_feld15') == 3 ) {
   $key15 = 'test3';
}   
   if ($keywords('products_feld15') == 4 ) {
   $key15 = 'test4';
}   
   if ($keywords('products_feld15') == 5 ) {
   $key15 = 'test5';
}   
   if ($keywords('products_feld15') == 6 ) {
   $key15 = 'test6';
}   
   if ($keywords('products_feld15') == 7 ) {
   $key15 = 'test7';
}   
   if ($keywords('products_feld15') == 8 ) {
   $key15 = 'test8';
}   
   if ($keywords('products_feld15') == 9 ) {
   $key15 = 'test9';
}   
   if ($keywords('products_feld15') == 10 ) {
   $key15 = 'test10';
}      
   if ($keywords('products_feld15') == 11 ) {
   $key15 = 'test11';
}   

   if ($keywords('products_feld16') == 1 ) {
   $key16 = '';
}   
   if ($keywords('products_feld16') == 2 ) {
   $key16 = '';
}   
   if ($keywords('products_feld16') == 3 ) {
   $key16 = '';
}   
   if ($keywords('products_feld16') == 4 ) {
   $key16 = '';
}   
   if ($keywords('products_feld16') == 5 ) {
   $key16 = '';
}   
   if ($keywords('products_feld16') == 6 ) {
   $key16 = '';
}   
   if ($keywords('products_feld16') == 7 ) {
   $key16 = '';
}   
   if ($keywords('products_feld16') == 8 ) {
   $key16 = '';
}   
   if ($keywords('products_feld16') == 9 ) {
   $key16 = '';
}   
   if ($keywords('products_feld16') == 10 ) {
   $key16 = '';
}   
   if ($keywords('products_feld7') == 1 ) {
   $key7 = '';
}   
   if ($keywords('products_feld7') == 2 ) {
   $key7 = '';
}
   if ($keywords('products_feld7') == 3 ) {
   $key7 = '';
}
   if ($keywords('products_feld7') == 4 ) {
   $key7 = '';
}
   if ($keywords('products_feld7') == 5 ) {
   $key7 = '';
}
   if ($keywords('products_feld7') == 6 ) {
   $key7 = '';
}
   if ($keywords('products_feld7') == 7 ) {
   $key7 = '';
}
   if ($keywords('products_feld7') == 8 ) {
   $key7 = '';
}
   if ($keywords('products_feld7') == 9 ) {
   $key7 = '';
}
   if ($keywords('products_feld21a') == 1 ) {
   $key21a = '';
}
   if ($keywords('products_feld21a') == 2 ) {
   $key21a = '';
}
   if ($keywords('products_feld21a') == 3 ) {
   $key21a = '';
}
   if ($keywords('products_feld21a') == 4 ) {
   $key21a = '';
}
   if ($keywords('products_feld21a') == 5 ) {
   $key21a = '';
}
   if ($keywords('products_feld21a') == 6 ) {
   $key21a = '';
}
   if ($keywords('products_feld21a') == 7 ) {
   $key21a = '';
}
   if ($keywords('products_feld21a') == 8 ) {
   $key21a = '';
}
   if ($keywords('products_feld21a') == 9 ) {
   $key21a = '';
}

$keywords_insert = $ean. "," .$key15. "," .$key16. "," .$key7. "," .$key21a. "," .$key1. "," .$key2. "," .$key17. "," .$key18. "," .$key20. "," .$key32. "," .$key33. "," .$key34. "," .$key35. "," .$key36. "," .$key21a. " ";

xtc_db_query("UPDATE products_description SET products_meta_kewords = " . $keywords_insert . " WHERE p.products_id = pd.products_id ");
}
echo test15
?>


so sieht es nun komplett aus - die == waren da eh irgendwie nie geplant... aber naja ihr hbats ja gefunden ;)

doch nach wie vor wird gar kein Wert übergeben - also auch nicht die feststehenden Inhalte wie die EAN-Nummer...

ergo übergibt er entweder kein wert in die $keyx (was ich bald glaube) ....was bedeuten würde die Abfrage der Produkts_id wirft so kein Ergebnis aus...oder aber er mag die $keywords_insert-Zeile nicht ... :gruebel: :durchdreh:


Nach oben
  
 
BeitragVerfasst: Di 29. Mai 2012, 15:43 
PLUS-Mitglied PLUS-Mitglied
Offline
Mitglied seit:
Do 5. Juni 2008, 12:10

Beiträge: 903
Danke vergeben: 2 mal
Danke erhalten: 23 mal
Postleitzahl: 25335
Land: Deutschland
clever hat geschrieben:
Code:
WHERE p.products_id = pd.products_id



Das ist nichts sagend. Also wird auch nichts aktualisiert

Was soll das hier?

Code:
$keywords = $keywords_query ;
$keywords = $keywords;


$keywords ist jetzt eine Ergebnis resource, nicht mehr. Was Du an der Stelle willst, ist ein xtc_db_fetch_array()...

Code:
$keywords = xtc_db_fetch_array($keywords_query);


Da das Ergebnis aber aus mehr als einer Zeile besteht, musst Du das ganze noch in einer Schleife machen.

Code:
while ($keywords = xtc_db_fetch_array($keywords_query)) {
...


Sieht alles arg umständlich aus...

Und zuguterletzt: Du machst den ganzen Käse wegen Meta-Keywords? Optimierst Du für Altavista?

Spar Dir das. Die Suchmaschinen von Belang kümmern sich schon ne halbe Ewigkeit nicht mehr um die Meta-Keywords. Lass Sie am besten ganz weg.

_________________
Webs - Online Shop, Webs / ECB - Shop Support Forum


Nach oben
  
 
BeitragVerfasst: Di 29. Mai 2012, 15:45 
Ääh, was tust Du da?
Code:
   $keywords = $keywords_query ;
   $keywords = $keywords;
   
   $ean = $keywords('products_ean');   
   $key1 = $keywords('products_feld1');
   $key2 = $keywords('products_feld2');
   $key17 = $keywords('products_feld17');

Schon mal damit versucht?
Code:
$keywords = xtc_db_fetch_array($keywords_query);
   $ean = $keywords['products_ean'];   
   $key1 = $keywords['products_feld1'];
   $key2 = $keywords['products_feld2'];
   $key17 = $keywords['products_feld17'];


P.S.
Nie bin ich schnell genug Bild


Nach oben
  
 
BeitragVerfasst: Di 29. Mai 2012, 15:53 
PLUS-Mitglied PLUS-Mitglied
Benutzeravatar
Offline
Mitglied seit:
So 8. Januar 2012, 10:24

Beiträge: 172
Danke vergeben: 6 mal
Danke erhalten: 5 mal
Postleitzahl: 92681
Land: Deutschland
Firmenname: mh Küchen & Bäder Martin Häupler
Branche: Schubladenteile
maßgefertigte Schubladen
vielleicht so:
Code:
xtc_db_query("UPDATE `" . TABLE_PRODUCTS_DESCRIPTION . "` SET products_meta_kewords = '" . $keywords_insert . "' WHERE p.products_id = pd.products_id.");

_________________
Lächeln ist die schönste Art, jemandem die Zähne zu zeigen!


Nach oben
  
 
BeitragVerfasst: Di 29. Mai 2012, 15:56 
PLUS-Mitglied PLUS-Mitglied
Offline
Mitglied seit:
Do 5. Juni 2008, 12:10

Beiträge: 903
Danke vergeben: 2 mal
Danke erhalten: 23 mal
Postleitzahl: 25335
Land: Deutschland
martin_the_joiner hat geschrieben:
vielleicht so:
Code:
xtc_db_query("UPDATE `" . TABLE_PRODUCTS_DESCRIPTION . "` SET products_meta_kewords = '" . $keywords_insert . "' WHERE p.products_id = pd.products_id.");


Nein. ` spielen da keine Rolle. Nur dann zwingend, wenn die verwendeten Tabellennamen oder Felder identisch sind mit reservierten Wörten.

Code:
xtc_db_query("UPDATE " . TABLE_PRODUCTS_DESCRIPTION . " SET products_meta_kewords = '" . $keywords_insert . "' WHERE p.products_id = '" . $keywords['products_id'] . "'");


Aber wie gesagt: Besser ganz lassen.

_________________
Webs - Online Shop, Webs / ECB - Shop Support Forum


Nach oben
  
 
BeitragVerfasst: Di 29. Mai 2012, 16:48 
Offline
Mitglied seit:
So 18. Januar 2009, 21:27

Beiträge: 567
Danke vergeben: 15 mal
Danke erhalten: 16 mal
Postleitzahl: 24000
Land: Deutschland
Firmenname: Versandhandel
Wie gesagt - das gleiche Script soll mir später die Felder des Produktfilters befüllen ohne das ich von Hand mehrere tausend Artikel nachbarbeiten muss - darum brauch ich es so oder so...

Witzgerweise lief das hier eben mal kurz - ABER nur zwei von tausenden Artikeln wurden mit den Inhalten belegt.
dann hab ich nur die if Anweisung entfernt die mir helfen sollte den fehler zu finden...und nun kommt wieder gar nix ( versteh schon nicht warum der nur bei 2 Artikeln tat was er sollte - dort allerdings einwandfrei...und warum nun nicht mehr ? :gruebel:
Code:
<?php
/* -----------------------------------------------------------------------------------------
   $Id:  V0.0001  $

   XT-Commerce - community made shopping
   http://www.xt-commerce.com

   Copyright (c) 2005 XT-Commerce

   Released under the GNU General Public License
   ---------------------------------------------------------------------------------------*/
   include ('/kunden/276230_25479/mega/inc/xtc_db_connect.inc.php');
   include ('/kunden/276230_25479/mega/inc/xtc_db_fetch_array.inc.php');
   include ('/kunden/276230_25479/mega/includes/application_top.php');   
 
   $keywords_query = xtc_db_query ("SELECT
                        p.products_id,
                        p.products_ean,
                    p.products_feld1,
                    p.products_feld2,
                    p.products_feld17,
                    p.products_feld18,                   
                    p.products_feld20,
                    p.products_feld35,
                    p.products_feld36,
                    p.products_feld15,
                    p.products_feld16,
                    p.products_feld7,
                    p.products_feld21a,
                    p.products_feld32,
                    p.products_feld33,
                    p.products_feld34,
                        pd.products_name,
                        pd.products_id,                   
                      pd.products_meta_keywords   FROM ".TABLE_PRODUCTS." p, ".TABLE_PRODUCTS_DESCRIPTION." pd WHERE p.products_id = pd.products_id ");

   $keywords = xtc_db_fetch_array($keywords_query);
   $ean = $keywords['products_ean'];   
   $key1 = $keywords['products_feld1'];
   $key2 = $keywords['products_feld2'];
   $key17 = $keywords['products_feld17'];
   $key18 = $keywords['products_feld18'];
   $key20 = $keywords['products_feld20'];
   $key32 = $keywords['products_feld32'];
   $key33 = $keywords['products_feld33'];
   $key34 = $keywords['products_feld34'];
   $key35 = $keywords['products_feld35'];
   $key36 = $keywords['products_feld36'];
   
   if ($keywords['products_feld15'] == '1') {
   $key15 = 'test1';
}
   if ($keywords['products_feld15'] == '2' ) {
   $key15 = 'test2';
}   
   if ($keywords['products_feld15'] == '3' ) {
   $key15 = 'test3';
}   
   if ($keywords['products_feld15'] == '4' ) {
   $key15 = 'test4';
}   
   if ($keywords['products_feld15'] == '5' ) {
   $key15 = 'test5';
}   
   if ($keywords['products_feld15'] == '6' ) {
   $key15 = 'test6';
}   
   if ($keywords['products_feld15'] == '7' ) {
   $key15 = 'test7';
}   
   if ($keywords['products_feld15'] == '8' ) {
   $key15 = 'test8';
}   
   if ($keywords['products_feld15'] == '9' ) {
   $key15 = 'test9';
}   
   if ($keywords['products_feld15'] == '10' ) {
   $key15 = 'test10';
}      
   if ($keywords['products_feld15'] == '11' ) {
   $key15 = 'test11';
}   

   if ($keywords['products_feld16'] == '1' ) {
   $key16 = '';
}   
   if ($keywords['products_feld16'] == '2' ) {
   $key16 = '';
}   
   if ($keywords['products_feld16'] == '3' ) {
   $key16 = '';
}   
   if ($keywords['products_feld16'] == '4' ) {
   $key16 = '';
}   
   if ($keywords['products_feld16'] == '5' ) {
   $key16 = '';
}   
   if ($keywords['products_feld16'] == '6' ) {
   $key16 = '';
}   
   if ($keywords['products_feld16'] == '7' ) {
   $key16 = '';
}   
   if ($keywords['products_feld16'] == '8' ) {
   $key16 = '';
}   
   if ($keywords['products_feld16'] == '9' ) {
   $key16 = '';
}   
   if ($keywords['products_feld16'] == '10' ) {
   $key16 = '';
}   
   if ($keywords['products_feld7'] == '1' ) {
   $key7 = '';
}   
   if ($keywords['products_feld7'] == '2' ) {
   $key7 = '';
}
   if ($keywords['products_feld7'] == '3' ) {
   $key7 = '';
}
   if ($keywords['products_feld7'] == '4' ) {
   $key7 = '';
}
   if ($keywords['products_feld7'] == '5' ) {
   $key7 = '';
}
   if ($keywords['products_feld7'] == '6' ) {
   $key7 = '';
}
   if ($keywords['products_feld7'] == '7' ) {
   $key7 = '';
}
   if ($keywords['products_feld7'] == '8' ) {
   $key7 = '';
}
   if ($keywords['products_feld7'] == '9' ) {
   $key7 = '';
}
   if ($keywords['products_feld21a'] == '1' ) {
   $key21a = '';
}
   if ($keywords['products_feld21a'] == '2' ) {
   $key21a = '';
}
   if ($keywords['products_feld21a'] == '3' ) {
   $key21a = '';
}
   if ($keywords['products_feld21a'] == '4' ) {
   $key21a = '';
}
   if ($keywords['products_feld21a'] == '5' ) {
   $key21a = '';
}
   if ($keywords['products_feld21a'] == '6' ) {
   $key21a = '';
}
   if ($keywords['products_feld21a'] == '7' ) {
   $key21a = '';
}
   if ($keywords['products_feld21a'] == '8' ) {
   $key21a = '';
}
   if ($keywords['products_feld21a'] == '9' ) {
   $key21a = '';
}

$keywords_insert = $ean. "," .$key15. "," .$key16. "," .$key7. "," .$key21a. "," .$key1. "," .$key2. "," .$key17. "," .$key18. "," .$key20. "," .$key32. "," .$key33. "," .$key34. "," .$key35. "," .$key36. "," .$key21a. " " ;
xtc_db_query("UPDATE " . TABLE_PRODUCTS_DESCRIPTION . " SET products_meta_keywords = '" . $keywords_insert . "' WHERE products_id = '" . $keywords['products_id'] . "'");

echo test22
?>

Zitat:
xtc_db_query("UPDATE " . TABLE_PRODUCTS_DESCRIPTION . " SET products_meta_kewords = '" . $keywords_insert . "' WHERE products_id = '" . $keywords['products_id'] . "'");


war übrigens gemein ;-) aber ich habs gefunden ^^ ...hilft aber auch nix :`-( irgendwas mag der nicht :durchdreh:


Nach oben
  
 
BeitragVerfasst: Di 29. Mai 2012, 17:02 
Benutzeravatar
Online
Mitglied seit:
Di 29. Dezember 2009, 12:01

Beiträge: 1427
Wohnort: Die Stadt mit dem Problem-BER
Danke vergeben: 5 mal
Danke erhalten: 40 mal
Postleitzahl: 10000
Land: Deutschland
Branche: Zeugs und Kram
Ganz unten hinter 'echo test22' fehlt ein Semikolon und außerdem wohl das Dollar-Zeichen vor test22. Zum Suchen von PHP-Syntax-Fehlern kannst Du auch das hier verwenden http://www.meandeviation.com/tutorials/learnphp/php-syntax-check/v5-2/syntax-check.php (ggf. unten Deine PHP-Version auswählen).

_________________
Töginger Fasan in Blätterteig mit Weinlauch - nur 24,95 Euro je Portion*

* Preis zzgl. Fasankosten


Nach oben
  
 
BeitragVerfasst: Mi 30. Mai 2012, 11:15 
Offline
Mitglied seit:
So 18. Januar 2009, 21:27

Beiträge: 567
Danke vergeben: 15 mal
Danke erhalten: 16 mal
Postleitzahl: 24000
Land: Deutschland
Firmenname: Versandhandel
eine Sekunde der Freude - endlich hat er Inhalte ins Feld products_meta_keywords geschaufelt... und nicht wie zuvor nur in 2 Felder - nein in alle :-)

dann der Schock...es war in jedem Feld der gleiche Inhalt - der des ersten Artikels in der Liste ...

also stimmte die WHERE BEDINGUNG nicht... in:
Code:
$keywords_insert = $ean. "," .$key15. "," .$key16. "," .$key7. "," .$key21a. "," .$key1. "," .$key2. "," .$key17. "," .$key18. "," .$key20. "," .$key8. "," .$key9. "," .$key13. "," .$key20a. "," .$key32. "," .$key33. "," .$key34. "," .$key35. "," .$key36. "," .$key21a. " " ;
xtc_db_query("UPDATE " . TABLE_PRODUCTS_DESCRIPTION . " SET products_meta_keywords = '" . $keywords_insert . "' WHERE products_id = '" . $keywords['products_id'] . "'");

geändert....aber nun trägt er wieder gar nix ein :(

nun ist die bezeichung products_id sowohl in products als auch in products_description gleich - logo ist ja auch auf den gleiche Artikel bezogen...aber wie sag ich ihm nun er soll die Inhalte aus den Feldern von Produkt 1 NUR ins META vom Produkt 1 werfen, das von 2 in 2 etc... :gruebel:


Nach oben
  
 
BeitragVerfasst: Mi 30. Mai 2012, 11:45 
Offline
Mitglied seit:
So 18. Januar 2009, 21:27

Beiträge: 567
Danke vergeben: 15 mal
Danke erhalten: 16 mal
Postleitzahl: 24000
Land: Deutschland
Firmenname: Versandhandel
so nun hatte ich die Faxen dicke und.....
Code:
$keywords_query = xtc_db_query ("SELECT                        
products_id,                       
products_ean,                   
products_feld1,                   
products_feld2,                   
products_feld17,                   
products_feld18,                                       
products_feld20,                   
products_feld35,                   
products_feld36,                   
products_feld15,                   
products_feld5,                   
products_feld7,                   
products_feld21a,                   
products_feld32,                   
products_feld33,                   
products_feld34,
products_feld20a,
products_feld13,
products_feld8,
products_feld9   FROM ".TABLE_PRODUCTS." ");   

$keywords = xtc_db_fetch_array($keywords_query); 

die products_description hier erstmal ganz rausgelassen...
Code:
xtc_db_query("REPLACE " . TABLE_PRODUCTS_DESCRIPTION . " SET products_meta_keywords = '" . $keywords_insert . "' WHERE products_id = '" . $PiD . "'");

und so wieder zurückschreiben wollen...wobei
Code:
$PiD = $keywords['products_id'];   
= $PiD ist

Zitat:
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE products_id = '1040'' at line 1

REPLACE products_description SET products_meta_keywords = 'blabla, test, test' WHERE products_id = '1040'

1040 ist der erste Artikel in der Tabelle Products - nicht aber der erste in products_description - heisst das nun er liest NUR den ersten Artikel in "products" aus ? die Products_id jedenfalls gibt es auch in products_description nur in anderer Sortierung


Nach oben
  
 
BeitragVerfasst: Mi 30. Mai 2012, 12:47 
Offline
Mitglied seit:
So 18. Januar 2009, 21:27

Beiträge: 567
Danke vergeben: 15 mal
Danke erhalten: 16 mal
Postleitzahl: 24000
Land: Deutschland
Firmenname: Versandhandel
also den Artikel 1040 bestückt er nun völlig einwandfrei....
die Frage bleibt, liest er nur einen Artikel aus ( weils zufälligerweise der Erste ist in der Tabelle)
oder "updatet" er nur den ersten den er ausliest... :gruebel:
die fetch_rray anweisung sollte ihm ja eigentlich schon zeigen das er ALLE Artikelfelder aller Artikel auslesen soll...
wie also sag ich ihm nun das er bitte auch ALLE Artikel in Products_description updaten soll ? :gruebel:


Nach oben
  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 21 Beiträge ]  [Gehe zu Seite]  1, 2  Nächste


Moderator: Ralf


Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Gehe zu:  
 Ã„hnliche Themen   Autor   Antworten   Zugriffe   Letzter Beitrag 
Afterbuy - hilfe

in Small Talk / Allgemeines

Eierbaer

1

153

Mi 22. Juni 2011, 20:29

Benötige hilfe zu SQL Befehl und PHP

in XT:C - xt-commerce & Weiterentwicklungen

Charon

20

423

Mi 4. Januar 2012, 13:49

Neuer (zweit-)Shop benötigt, brauchen Hilfe

in Allgemeines / Diverse Shopsysteme

Jogi2543

14

463

Mi 7. September 2011, 13:41

Welche kostenfreie Magento Extension würden Sie brauchen?

in Magento

bloopark

1

284

Di 22. Januar 2013, 13:31


sellerforum.de Impressum: Partnerlinks:
Sebastian Feuster - Versandhandel & eCommerce-Dienstleistungen

Firmenanschrift / postalisch: Am Hippersbach 14 - 54550 Daun-Steinborn -  Tel: 06592-574110
Kundenservice Mo-Fr: Erlenweg 11 - 54550 Daun-Waldkoenigen  -  Tel: 06592-9838306 
Fax: 06592-5741109  -  Mail:

USt-ID DE215005895
Luftballons
onlinemarktplatz.de
wortfilter.de

Feed    FAQ  

sellerforum.de is powered by phpBB.com and Domainfactory.de / Deutsche Übersetzung durch phpBB.de