volgorde van attributen ?
Ik zit met een probleem onderstaande code werkt niet naar behoren:
Het is een duits script voor de attributen die bij een product kunnen worden gekopieerd.
----------------------------------------------------------------------------------------
// Bestellung abfragen
$orders_query = tep_db_query("select * from " . TABLE_ORDERS . " where orders_id = '" . (int)$oID . "'");
if(mysql_num_rows($orders_query)) {
$orders_array = tep_db_fetch_array($orders_query);
// orders_id für auto_insert löschen
$orders_array['orders_id'] = '';
//only if you have orders_type (offer, redemp, order,invoice,packingslip) installed
// $orders_array['orders_type'] = 'A';
$werte = implode("','",$orders_array);
// Insert Abfrage
$insert_query = tep_db_query("INSERT INTO " . TABLE_ORDERS . " VALUES ('" . $werte . "')");
//neue orders_id feststellen
$insert_id = tep_db_insert_id();
// orders_products abfragen
$orders_products_query = tep_db_query("select * from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . (int)$oID . "'");
$cnt_inserts=0;
while ($orders_products = tep_db_fetch_array($orders_products_query)) {
$orders_products['orders_products_id'] = '';
$orders_products['orders_id'] = $insert_id;
$werte = implode("','",$orders_products);
$insert_products_query = tep_db_query("INSERT INTO " . TABLE_ORDERS_PRODUCTS . " VALUES ('" . $werte . "')");
//neue id feststellen
$i_id[$cnt_inserts] = tep_db_insert_id();
$cnt_inserts++;
}
// ende orders_products_abfragen
// orders_products_ATTRIBUTES abfragen
$orders_products_a_query = tep_db_query("select * from " . TABLE_ORDERS_PRODUCTS_ATTRIBUTES . " where orders_id = '" . (int)$oID . "'");
$cnt_inserts=0;
while ($orders_products_a = tep_db_fetch_array($orders_products_a_query)) {
$orders_products_a['orders_products_attributes_id'] = '';
$orders_products_a['orders_id'] = $insert_id;
$orders_products_a['orders_products_id'] = $i_id[$cnt_inserts];
$werte = implode("','",$orders_products_a);
$insert_products_query = tep_db_query("INSERT INTO " . TABLE_ORDERS_PRODUCTS_ATTRIBUTES . " VALUES ('" . $werte . "')");
$cnt_inserts++;
}
// ende orders_products_attributes abfragen
// orders_products_DOWNLOAD abfragen
$orders_products_d_query = tep_db_query("select * from " . TABLE_ORDERS_PRODUCTS_DOWNLOAD . " where orders_id = '" . (int)$oID . "'");
while ($orders_products_d = tep_db_fetch_array($orders_products_d_query)) {
$orders_products_d['orders_products_download_id'] = '';
$orders_products_d['orders_id'] = $insert_id;
$werte = implode("','",$orders_products_d);
$insert_products_query = tep_db_query("INSERT INTO " . TABLE_ORDERS_PRODUCTS_DOWNLOAD . " VALUES ('" . $werte . "')");
}
// ende orders_products_download_abfragen
// orders_TOTAL abfragen
$orders_total_query = tep_db_query("select * from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . (int)$oID . "'");
while ($orders_total = tep_db_fetch_array($orders_total_query)) {
$orders_total['orders_total_id'] = '';
$orders_total['orders_id'] = $insert_id;
$werte = implode("','",$orders_total);
$insert_products_query = tep_db_query("INSERT INTO " . TABLE_ORDERS_TOTAL . " VALUES ('" . $werte . "')");
}
// ende orders_TOTAL abfragen
----------------------------------------------------------------------------------------
Het kopieeren werkt momenteel weer perfect,
echter de volgorde niet (volgens mij te wijten aan $cnt_inserts++; ).
als ik een factuur uit wil printen krijg je normaal zoiets:
product 1
-atribuut 1
-atribuut 2
product 2
-atribuut 1
-atribuut 2
product 3
-atribuut 1
-atribuut 2
product 4
-atribuut 1
-atribuut 2
etc ... etc...
echter met bovenstaande script krijg ik:
product 1
-atribuut 1
product 2
-atribuut 2
product 3
-atribuut 2
product 4
-atribuut 1
Elk artikel krijgt één waarde onder zich, en het tweede artikel krijgt volgens mij de overgebleven waarde van artikel 1.. (klinkt errug ingewikkeld he ;-) .)
verander ik bv. $cnt_inserts++; naar $cnt_inserts+5;
krijg ik wel alle waardes echter dan allemaal na de producten lijst...
zoiets:
product 1
product 2
product 3
product 4
-atribuut 1
-atribuut 2
-atribuut 1
-atribuut 2
iemand enig idee wat er hier verkeerd gaat?
;-(((
Gewijzigd op 01/01/1970 01:00:00 door Marco --
Niemand enig idee?