Jump to content
xt:Commerce Community Forum

customers import - von oscom zu xtcom


Recommended Posts

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 :(

<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>

Link to comment
Share on other sites

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!

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...