Hallo
ich arbeite mich mühsam in die Welt von php und mysql ein.
Ich möchte eine xml-Datei zum Einlesen neuer Bestellungen in meine WaWi erstellen.
Da ich nicht viel Hintergrundwissen habe, versuche ich hier Hilfe zu bekommen. Ich poste auch gleich den Code mit.
Falls das nicht erlaubt ist, sagt es mir bitte, damit ich für´s nächste Mal Bescheid weiß.
Uwe
_______________________________________________________
Folgende Fehlermeldung erscheint beim Aufruf des Scriptes:
Die XML-Seite kann nicht angezeigt werden
Die XML-Eingabe kann nicht angezeigt werden, wenn Stylesheet XSL verwendet wird. Beheben Sie den Fehler und klicken Sie dann auf Aktualisieren, oder wiederholen Sie den Vorgang später.
--------------------------------------------------------------------------------
Die folgenden Tags wurden nicht geschlossen: Bestellliste. Fehler beim Bearbeiten der Ressource 'http://localhost/admin/lexware.php'.
Der Code:
<?php
if (file_exists('includes/configure.php')) include('includes/configure.php');
// include the database functions
require(DIR_WS_FUNCTIONS . 'database.php');
// make a connection to the database
tep_db_connect() or die('Unable to connect to database server!');
$rev_trans = get_html_translation_table(HTML_ENTITIES);
$rev_trans = array_flip($rev_trans);
echo '<?xml version="1.0" encoding="ISO-8859-1" ?>';
echo '<Bestellliste>';
// alle Bestellungen mit Status *Erfasst* ermitteln
$orders = tep_db_query('select o.*, DATE_FORMAT(o.date_purchased, "%d.%m.%Y") as dp_datum, DATE_FORMAT(o.date_purchased, "%H:%i:%s") as dp_zeit, c.customers_firstname, c.customers_lastname, c.customers_fax from orders o, customers c where o.customers_id = c.customers_id and o.orders_status = "Erfasst" order by o.orders_id;');
while ($row = tep_db_fetch_array($orders)) {
// Kundendaten
echo '<Bestellung zurückgestellt="Nein" bearbeitet="Nein" übertragen="Nein">';
echo '<Standardwaehrung>978</Standardwaehrung>';
echo "<Bestelldatum><Datum>{$row['dp_datum']}</Datum><Zeit>{$row['dp_zeit']}</Zeit></Bestelldatum>";
echo '<Kunde>';
echo "<Kundennummer>" . KUNDENNUMMER_STD . "</Kundennummer>";
echo "<Firmenname>" . htmlspecialchars($row['customers_suburb']) . "</Firmenname>";
echo "<Vorname>" . htmlspecialchars($row['customers_firstname']) . "</Vorname>";
echo "<Name>" . htmlspecialchars($row['customers_lastname']) . "</Name>";
echo "<Strasse>{$row['customers_street_address']}</Strasse>";
echo "<PLZ>{$row['customers_postcode']}</PLZ>";
echo "<Ort>{$row['customers_city']}</Ort>";
echo "<Bundesland />";
echo "<Land>{$row['customers_country']}</Land>";
echo "<Email>{$row['customers_email_address']}</Email>";
echo "<Telefon>{$row['customers_telephone']}</Telefon>";
echo "<Telefon2 />";
echo "<Fax>{$row['customers_fax']}</Fax>";
echo "<Lieferadresse>";
echo "<Firmenname>" . htmlspecialchars($row['delivery_suburb']) . "</Firmenname>";
echo "<Vorname />";
echo "<Name>" . htmlspecialchars($row['delivery_name']) . "</Name>";
echo "<Strasse>{$row['delivery_street_address']}</Strasse>";
echo "<PLZ>{$row['delivery_postcode']}</PLZ>";
echo "<Ort>{$row['delivery_city']}</Ort>";
echo "<Bundesland />";
echo "<Land>{$row['delivery_country']}</Land>";
echo "</Lieferadresse>";
echo "<fSteuerbar>Ja</fSteuerbar>";
echo "<Matchcode />";
echo '</Kunde>';
// Artikeldaten
echo "<Artikelliste>";
$artikel = tep_db_query("select * from orders_products where orders_id = {$row['orders_id']} order by orders_products_id;");
while ($artikel_row = tep_db_fetch_array($artikel)) {
echo "<Artikel>";
echo "<Artikelzusatzinfo>";
echo "<Nettostaffelpreis />";
echo "</Artikelzusatzinfo>";
echo "<SteuersatzID />";
echo "<Steuersatz>{$artikel_row['products_tax']}</Steuersatz>";
echo "<Artikelnummer>{$artikel_row['products_model']}</Artikelnummer>";
echo "<Anzahl>{$artikel_row['products_quantity']}</Anzahl>";
echo "<Produktname>" . strtr(strip_tags($artikel_row['products_name']),$rev_trans) . "</Produktname>";
echo "<Rabatt>0.00</Rabatt>";
echo "<Preis>{$artikel_row['products_price']}</Preis>";
echo "</Artikel>";
}
// Abschluss Bestellung
$totals = tep_db_query("select * from orders_total where orders_id = {$row['orders_id']};");
$total_array = array();
while ($totals_row = tep_db_fetch_array($totals)) {
$total_array[$totals_row['class']] = $totals_row['value'];
}
echo "<GesamtNetto>" . ((int)($total_array['ot_subtotal']*100+0.5))/100 . "</GesamtNetto>";
echo "<GesamtRabatt>" . ((int)(($total_array['ot_rebate']+$total_array['ot_skonto'])*100+0.5))/100 . "</GesamtRabatt>";
echo "<Lieferkosten>" . ((int)($total_array['ot_shipping']*100+0.5))/100 . "</Lieferkosten>";
echo "<Lieferart />";
echo "<Zahlungsartkosten>" . ((int)($total_array['ot_paymentcharge']*100+0.5))/100 . "</Zahlungsartkosten>";
echo "<GesamtBrutto>" . ((int)($total_array['ot_total']*100+0.5))/100 . "</GesamtBrutto>";
echo "<Bemerkung>" . htmlspecialchars(strip_tags($row['comments'])) . "</Bemerkung>";
echo "</Artikelliste>";
echo "<Zahlung><Art>" . strtr($row['payment_method'],$rev_trans) . "</Art></Zahlung>";
echo '</Bestellung>';
echo '</Bestellliste>';
}
tep_db_close();
?>
ich arbeite mich mühsam in die Welt von php und mysql ein.
Ich möchte eine xml-Datei zum Einlesen neuer Bestellungen in meine WaWi erstellen.
Da ich nicht viel Hintergrundwissen habe, versuche ich hier Hilfe zu bekommen. Ich poste auch gleich den Code mit.
Falls das nicht erlaubt ist, sagt es mir bitte, damit ich für´s nächste Mal Bescheid weiß.
Uwe
_______________________________________________________
Folgende Fehlermeldung erscheint beim Aufruf des Scriptes:
Die XML-Seite kann nicht angezeigt werden
Die XML-Eingabe kann nicht angezeigt werden, wenn Stylesheet XSL verwendet wird. Beheben Sie den Fehler und klicken Sie dann auf Aktualisieren, oder wiederholen Sie den Vorgang später.
--------------------------------------------------------------------------------
Die folgenden Tags wurden nicht geschlossen: Bestellliste. Fehler beim Bearbeiten der Ressource 'http://localhost/admin/lexware.php'.
Der Code:
<?php
if (file_exists('includes/configure.php')) include('includes/configure.php');
// include the database functions
require(DIR_WS_FUNCTIONS . 'database.php');
// make a connection to the database
tep_db_connect() or die('Unable to connect to database server!');
$rev_trans = get_html_translation_table(HTML_ENTITIES);
$rev_trans = array_flip($rev_trans);
echo '<?xml version="1.0" encoding="ISO-8859-1" ?>';
echo '<Bestellliste>';
// alle Bestellungen mit Status *Erfasst* ermitteln
$orders = tep_db_query('select o.*, DATE_FORMAT(o.date_purchased, "%d.%m.%Y") as dp_datum, DATE_FORMAT(o.date_purchased, "%H:%i:%s") as dp_zeit, c.customers_firstname, c.customers_lastname, c.customers_fax from orders o, customers c where o.customers_id = c.customers_id and o.orders_status = "Erfasst" order by o.orders_id;');
while ($row = tep_db_fetch_array($orders)) {
// Kundendaten
echo '<Bestellung zurückgestellt="Nein" bearbeitet="Nein" übertragen="Nein">';
echo '<Standardwaehrung>978</Standardwaehrung>';
echo "<Bestelldatum><Datum>{$row['dp_datum']}</Datum><Zeit>{$row['dp_zeit']}</Zeit></Bestelldatum>";
echo '<Kunde>';
echo "<Kundennummer>" . KUNDENNUMMER_STD . "</Kundennummer>";
echo "<Firmenname>" . htmlspecialchars($row['customers_suburb']) . "</Firmenname>";
echo "<Vorname>" . htmlspecialchars($row['customers_firstname']) . "</Vorname>";
echo "<Name>" . htmlspecialchars($row['customers_lastname']) . "</Name>";
echo "<Strasse>{$row['customers_street_address']}</Strasse>";
echo "<PLZ>{$row['customers_postcode']}</PLZ>";
echo "<Ort>{$row['customers_city']}</Ort>";
echo "<Bundesland />";
echo "<Land>{$row['customers_country']}</Land>";
echo "<Email>{$row['customers_email_address']}</Email>";
echo "<Telefon>{$row['customers_telephone']}</Telefon>";
echo "<Telefon2 />";
echo "<Fax>{$row['customers_fax']}</Fax>";
echo "<Lieferadresse>";
echo "<Firmenname>" . htmlspecialchars($row['delivery_suburb']) . "</Firmenname>";
echo "<Vorname />";
echo "<Name>" . htmlspecialchars($row['delivery_name']) . "</Name>";
echo "<Strasse>{$row['delivery_street_address']}</Strasse>";
echo "<PLZ>{$row['delivery_postcode']}</PLZ>";
echo "<Ort>{$row['delivery_city']}</Ort>";
echo "<Bundesland />";
echo "<Land>{$row['delivery_country']}</Land>";
echo "</Lieferadresse>";
echo "<fSteuerbar>Ja</fSteuerbar>";
echo "<Matchcode />";
echo '</Kunde>';
// Artikeldaten
echo "<Artikelliste>";
$artikel = tep_db_query("select * from orders_products where orders_id = {$row['orders_id']} order by orders_products_id;");
while ($artikel_row = tep_db_fetch_array($artikel)) {
echo "<Artikel>";
echo "<Artikelzusatzinfo>";
echo "<Nettostaffelpreis />";
echo "</Artikelzusatzinfo>";
echo "<SteuersatzID />";
echo "<Steuersatz>{$artikel_row['products_tax']}</Steuersatz>";
echo "<Artikelnummer>{$artikel_row['products_model']}</Artikelnummer>";
echo "<Anzahl>{$artikel_row['products_quantity']}</Anzahl>";
echo "<Produktname>" . strtr(strip_tags($artikel_row['products_name']),$rev_trans) . "</Produktname>";
echo "<Rabatt>0.00</Rabatt>";
echo "<Preis>{$artikel_row['products_price']}</Preis>";
echo "</Artikel>";
}
// Abschluss Bestellung
$totals = tep_db_query("select * from orders_total where orders_id = {$row['orders_id']};");
$total_array = array();
while ($totals_row = tep_db_fetch_array($totals)) {
$total_array[$totals_row['class']] = $totals_row['value'];
}
echo "<GesamtNetto>" . ((int)($total_array['ot_subtotal']*100+0.5))/100 . "</GesamtNetto>";
echo "<GesamtRabatt>" . ((int)(($total_array['ot_rebate']+$total_array['ot_skonto'])*100+0.5))/100 . "</GesamtRabatt>";
echo "<Lieferkosten>" . ((int)($total_array['ot_shipping']*100+0.5))/100 . "</Lieferkosten>";
echo "<Lieferart />";
echo "<Zahlungsartkosten>" . ((int)($total_array['ot_paymentcharge']*100+0.5))/100 . "</Zahlungsartkosten>";
echo "<GesamtBrutto>" . ((int)($total_array['ot_total']*100+0.5))/100 . "</GesamtBrutto>";
echo "<Bemerkung>" . htmlspecialchars(strip_tags($row['comments'])) . "</Bemerkung>";
echo "</Artikelliste>";
echo "<Zahlung><Art>" . strtr($row['payment_method'],$rev_trans) . "</Art></Zahlung>";
echo '</Bestellung>';
echo '</Bestellliste>';
}
tep_db_close();
?>
Kommentar