Was ist an diesem Script falsch ??

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Was ist an diesem Script falsch ??

    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();

    ?>

  • #2
    Weclome on Board,

    ist wunderbar, wie du gepostet hast, Fehlermeldung und Code. Es wäre nur noch schon, wenn die Fehlermeldungen auch zu Code gehören würden. Kann Sie nämlich dort nirgends finden.

    Bitte benutze die [php]-Tags des Forums, dann kann man den Code besser lesen.

    EDIT:
    ah, ich seh schon, ist osCommerce. Hab schonmal ne kleine Erweiterung dafür geschrieben. Um da änderungen dran zu machen, musst du schon ein paar grundlagen in PHP und SQL und vorallem osCommerce-verständnis mitbringen. Da der Code meiner meinung nach nicht gerade der übersichtlichste ist.
    Zuletzt geändert von TobiaZ; 02.04.2004, 21:51.

    Kommentar

    Lädt...
    X