#1 (permalink)  
Alt 09.08.2007, 08:12
Neuer Benutzer
 
Registriert seit: 27.07.2007
Ort: zweibrücken
Beiträge: 2
Standard customers import - von oscom zu xtcom

Hallo Leute,

habe gerade für einen Kunden von mir, welcher von OS:Commerce zu XT:Commerce migriert, ein Script geschrieben dass die Kunden-Daten von der OS:Commerce-Datenbank in die XT:Commerce-Datenbank schreibt.
Da ich beim rumsurfen hier im Board herausgefunden habe, dass es damit wohl einige Schwierigkeiten gibt, möchte ich es euch zur Verfügung stellen.

Ich kann keine Garantie darauf geben ob es auch wirklich richtig funktioniert, anbei bitte ich auch noch die erfahreneren User darum, ein paar Tipps und Hinweise zu posten und auf eventuelle Fehler im Script hinzuweisen.

Das Script wurde getestet bei einem OS:Commerce v 1.1 2003/06/11 17:37:59 (so stand es in der index.php) und einem XT:Commerce v3.0.4, dort hat alles insoweit wunderbar funktioniert, dass es die Kunden-Daten in die XT:Commerce-Datenbank geschrieben hat, sogar ein einloggen mit den Kunden-Daten war möglich.
Es besteht derzeit nur dass Problem dass die Kunden im Admin-Panel nicht angezeigt werden, bräuchte von der Seite aus noch ein wenig Hilfe

Code:
<table cellpadding='4' cellspacing='0' border='1'>
<?php
// OS:Commerce-Datenbank
$os_db_server = "HIER EINTRAGEN"; // OS:Commerce-Datenbank-Server
$os_db_user = "HIER EINTRAGEN"; // OS:Commerce-Datenbank-Benutzer
$os_db_pass = "HIER EINTRAGEN"; // OS:Commerce-Datenbank-Passwort
$os_db_name = "HIER EINTRAGEN"; // OS:Commerce-Datenbank

// XT:Commerce-Datenbank
$xt_db_server = "HIER EINTRAGEN"; // XT:Commerce-Datenbank-Server
$xt_db_user = "HIER EINTRAGEN"; // XT:Commerce-Datenbank-Benutzer
$xt_db_pass = "HIER EINTRAGEN"; // XT:Commerce-Datenbank-Passwort
$xt_db_name = "HIER EINTRAGEN"; // XT:Commerce-Datenbank

// verbinde mit OS:Commerce-Datenbank
$verbindung_os = mysql_connect($os_db_server, $os_db_user, $os_db_pass)
or die (mysql_error());
mysql_select_db($os_db_name)
or die (mysql_error());

// hole Daten aus der OS:Commerce-Datenbank
$verbinde = "SELECT * FROM customers";
$ergebnis = mysql_query($verbinde) or die (mysql_error());

$counter = 0;
while($row = mysql_fetch_array($ergebnis))
{
// hole Datensatz aus OS:Commerce und schreibe sie in ein Array
  $oscom_customers[$counter]["customers_id"] = $row[0];
  $oscom_customers[$counter]["customers_gender"] = $row[1];
  $oscom_customers[$counter]["customers_firstname"] = $row[2];
  $oscom_customers[$counter]["customers_lastname"] = $row[3];
  $oscom_customers[$counter]["customers_dob"] = $row[4];
  $oscom_customers[$counter]["customers_email_address"] = $row[5];
  $oscom_customers[$counter]["customers_default_address_id"] = $row[6];
  $oscom_customers[$counter]["customers_telephone"] = $row[7];
  $oscom_customers[$counter]["customers_fax"] = $row[8];
  $oscom_customers[$counter]["customers_password"] = $row[9];
  if($row[10] == "")
  {
    $oscom_customers[$counter]["customers_newsletter"] = 1;
  }
  else
  {
    $oscom_customers[$counter]["customers_newsletter"] = $row[10];
  }
  $counter++;
}
mysql_close($verbindung_os);

// verbinde mit XT:Commerce-Datenbank
$verbindung_xt = mysql_connect($xt_db_server, $xt_db_user, $xt_db_pass)
or die (mysql_error());
mysql_select_db($xt_db_name)
or die (mysql_error());

// ermittle bisherige Daten aus der XT:Commerce-Datenbank
$verbinde = "SELECT * FROM customers";
$ergebnis = mysql_query($verbinde) or die (mysql_error());
$counter_customers = mysql_num_rows($ergebnis);
$counter_customers++;

// schreibe Datensätze in die XT:Commerce-Datenbank
$counter_zwei = 0;
while($counter_zwei < $counter)
{
// bereite Daten zum Schreiben in die Datenbank vor
  $customers_id = $oscom_customers[$counter_zwei]["customers_id"];
  $customers_cid = "NULL";
  $customers_vat_id = mysql_real_escape_string("");
  $customers_vat_id_status = mysql_real_escape_string("0");
  $customers_warning = "NULL";
  $customers_status = mysql_real_escape_string(2);
  $customers_gender = mysql_real_escape_string($oscom_customers[$counter_zwei]["customers_gender"]);
  $customers_firstname = mysql_real_escape_string($oscom_customers[$counter_zwei]["customers_firstname"]);
  $customers_lastname = mysql_real_escape_string($oscom_customers[$counter_zwei]["customers_lastname"]);
  $customers_dob = mysql_real_escape_string($oscom_customers[$counter_zwei]["customers_dob"]);
  $customers_email_address = mysql_real_escape_string($oscom_customers[$counter_zwei]["customers_email_address"]);
  $customers_default_address_id = mysql_real_escape_string($counter_customers);
  $customers_telephone = mysql_real_escape_string($oscom_customers[$counter_zwei]["customers_telephone"]);
  $customers_fax = mysql_real_escape_string($oscom_customers[$counter_zwei]["customers_fax"]);
  $customers_password = mysql_real_escape_string($oscom_customers[$counter_zwei]["customers_password"]);
  $customers_newsletter = mysql_real_escape_string($oscom_customers[$counter_zwei]["customers_newsletter"]);
  $customers_newsletter_mode = mysql_real_escape_string(0);
  $member_flag = mysql_real_escape_string(0);
  $delete_user = mysql_real_escape_string(1);
  $account_type = mysql_real_escape_string(0);
  $password_request_key = mysql_real_escape_string("");
  $payment_unallowed = mysql_real_escape_string("");
  $shipping_unallowed = mysql_real_escape_string("");
  $refferers_id = mysql_real_escape_string(0);
  $add = date("Y-m-d H:i:s");
  $customers_date_added = mysql_real_escape_string("$add");
  $modified = date("Y-m-d H:i:s");
  $customers_last_modified = mysql_real_escape_string("$modified");

// schreibe Daten in die Datenbank
  $eintrag = "INSERT INTO customers   
  (
    customers_vat_id, customers_vat_id_status, customers_status,
    customers_gender, customers_firstname, customers_lastname,
    customers_dob, customers_email_address, customers_default_address_id,
    customers_telephone, customers_fax, customers_password,
    customers_newsletter, customers_newsletter_mode, member_flag,
    delete_user, account_type, password_request_key,
    payment_unallowed, shipping_unallowed, refferers_id,
    customers_date_added, customers_last_modified
  )
  VALUES
  (
    '$customers_vat_id', $customers_vat_id_status, $customers_status,
    '$customers_gender', '$customers_firstname', '$customers_lastname',
    '$customers_dob', '$customers_email_address', $customers_default_address_id,
    '$customers_telephone', '$customers_fax', '$customers_password',
    '$customers_newsletter', '$customers_newsletter_mode', '$member_flag',
    '$delete_user', $account_type, '$password_request_key',
    '$payment_unallowed', '$shipping_unallowed', $refferers_id,
    '$customers_date_added', '$customers_last_modified'
  )";

// zeige Status-Informationen
  if(mysql_query($eintrag))
  {
?>
  <tr>
    <td><b>customers_id</b></td>
    <td><b>customers_cid</b></td>
    <td><b>customers_vat_id</b></td>
    <td><b>customers_vat_id_status</b></td>
    <td><b>customers_warning</b></td>
    <td><b>customers_status</b></td>
    <td><b>customers_gender</b></td>
    <td><b>customers_firstname</b></td>
    <td><b>customers_lastname</b></td>
    <td><b>customers_dob</b</td>
    <td><b>customers_email_address</b></td>
    <td><b>customers_default_address_id</b></td>
    <td><b>customers_telephone</b></td>
    <td><b>customers_fax</b></td>
    <td><b>customers_password</b></td>
    <td><b>customers_newsletter</b></td>
    <td><b>customers_newsletter_mode</b></td>
    <td><b>member_flag</b></td>
    <td><b>delete_user</b></td>
    <td><b>account_type</b></td>
    <td><b>password_request_key</b></td>
    <td><b>payment_unallowed</b></td>
    <td><b>shipping_unallowed</b></td>
    <td><b>refferers_id</b></td>
    <td><b>customers_date_added</b></td>
    <td><b>customers_last_modified</b></td>
  </tr>
  <tr>
    <td><?php echo $customers_id; ?></td>
    <td><?php echo $customers_cid; ?></td>
    <td><?php echo $customers_vat_id; ?></td>
    <td><?php echo $customers_vat_id_status; ?></td>
    <td><?php echo $customers_warning; ?></td>
    <td><?php echo $customers_status; ?></td>
    <td><?php echo $customers_gender; ?></td>
    <td><?php echo $customers_firstname; ?></td>
    <td><?php echo $customers_lastname; ?></td>
    <td><?php echo $customers_dob; ?></td>
    <td><?php echo $customers_email_address; ?></td>
    <td><?php echo $customers_default_address_id; ?></td>
    <td><?php echo $customers_telephone; ?></td>
    <td><?php echo $customers_fax; ?></td>
    <td><?php echo $customers_password; ?></td>
    <td><?php echo $customers_newsletter; ?></td>
    <td><?php echo $customers_newsletter_mode ?></td>
    <td><?php echo $member_flag; ?></td>
    <td><?php echo $delete_user; ?></td>
    <td><?php echo $account_type; ?></td>
    <td><?php echo $password_request_key; ?></td>
    <td><?php echo $payment_unallowed; ?></td>
    <td><?php echo $shipping_unallowed; ?></td>
    <td><?php echo $refferers_id; ?></td>
    <td><?php echo $customers_date_added; ?></td>
    <td><?php echo $customers_last_modified; ?></td>
  </tr>
  <tr>
    <td colspan='26' align='center'>Der Kunde mit der ID <?php echo $oscom_customers[$counter_zwei]["customers_id"]; ?> wurde erfolgreich in die XT:Commerce-Datenbank eingetragen!</td>
  </tr>
<?php
  }
  else
  {
?>
  <tr>
    <td colspan='26' align='center'><b>Der Kunde mit der ID <?php echo $oscom_customers[$counter_zwei]["customers_id"]; ?> konnte nicht in die XT:Commerce-Datenbank eingetragen werden!</b></td>
  </tr>
<?php
  }
  $counter_zwei++;
  $counter_customers++;
}
mysql_close($verbindung_xt);
?>
</table>

Geändert von dernicklosekopf (09.08.2007 um 08:20 Uhr)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #2 (permalink)  
Alt 09.08.2007, 08:33
Neuer Benutzer
 
Registriert seit: 27.07.2007
Ort: zweibrücken
Beiträge: 2
Standard

mhm ja... da bemerke ich grad was tolles...
So wie es aussieht werden im Admin-Panel die Kunden-Daten aus der Tabelle address_book geholt.
Also müsste ich die ja auch noch mitimportieren, werde mich ransetzen, jedoch müsste ich vorher noch verstehen wie die Spalten address_book_id und customers_id in der Tabelle address_book zu verstehen sind... brauche dringend Hilfe!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
customers, import, oscom, xtcom

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Fehler Beim Import Meiner Rechnungen Aus Osc andreas2k Installation und Konfiguration 4 24.01.2006 16:45


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:40 Uhr.

Copyright © 2011 xt:Commerce GmbH / xt:Commerce International Ltd. - All Rights Reserved

xt:Commerce is a SafeCharge brand