Anmeldung

Geben Sie Ihren Benutzernamen und Ihr Passwort ein, um sich anzumelden.

Verbesserungsvorschlag: robustere Behandlung eines Array-Ergebnisses der Funktion daten_holen()

jveser
Neuling
Verfasst am: 09.04.2013 [12:12]
Hallo zusammen,

implementiert man die Shop-spezifische Funktion daten_holen() mit Ergebnis-Typ Array (indem man wie in der Dokumentation beschrieben $GLOBALS['datakind'] auf 2 setzt und das Ergebnis-Array in $GLOBALS['ErgebnisArray'] ablegt) so erzeugt die weitere Logik der Shopanbindung (neueste Version, vom 27. März 2013) für ein leeres Array ungültiges XML (genaue gesagt: "<OrderNotification></Bestellvorgang><OrderNotification>" ).
Um dies zu vermeiden muss man bei leerem Ergebnis den Wert $GLOBALS['ErgebnisArray'] auf NULL setzen. Ich hatte zunächst angenommen, dass ein leeres Array und NULL gleich behandelt würden.

Es wäre wünschenswert dass dies entsprechend in der Dokumentation beschrieben würde, oder besser noch, wenn der Shop-unabhängige Code das Array-Ergebnis robuster weiterverarbeiten würde.

Aufgefallen ist mir das bei einer Anpassung der gambio.php, in der ich die Funktion daten_holen() folgendermaßen angepasst habe (um sie danach weiter anzupassen) :


$GLOBALS['datakind'] = "2";

$query = "SELECT [...]"; // Originale Query
$rows = array();
$qRes = mysql_query($query);
while ($row = mysql_fetch_assoc($qRes))
{
$rows[] = $row;
}

mysql_free_result($qRes);

if (empty($rows))
{
$rows = NULL;
}
$GLOBALS['ErgebnisArray'] = $rows;
return $GLOBALS['datakind'];


Lässt man das letzte if weg, so liefert der Aufruf der orgamax_osc.php wie oben erwähnt ungültiges XML.

Edit:
Damit das Codeschnipsel funktioniert müssen die Zeilen des Arrays vor dem Ende der Funktion noch nach der Spalte "orderID" sortiert werden, da sie sonst von der weiteren Logik nicht korrekt zu Aufträgen zusammengefasst werden.
Auch bei dieser Info wäre es schön, wenn sie in der Doku stehen würde icon_wink.gif


Grüße,
Johannes
[Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 10.04.2013 um 10:15.]

orgaMAX Forum hat 4202 registrierte Benutzer, 5134 Themen und 17062 Antworten.
Es werden durchschnittlich 7.07 Beiträge pro Tag erstellt.

Zur Zeit sind 0 Benutzer online, davon 0 registrierte Benutzer.
Heute waren bereits 5 registrierte Benutzer online.

Schulungen
orgaMAX Schulungen

Wir zeigen Ihnen, wie Sie orgaMAX optimal einsetzen.
Mehr erfahren

Weiterempfehlen
orgaMAX empfehlen

Prämie bis zu 50€ sichern.
Mehr erfahren

Webinare
Webinare

Unsere kostenlosen Online-Seminare.
Mehr erfahren

FAQ
FAQ-Bereich

Antworten auf die häuftigsten Fragen.
Mehr erfahren

Download
orgaMAX Handbuch

Kostenlos als PDF herunterladen.
Download

Newsletter
orgaMAX Blog

Bleiben Sie auf dem Laufenden.
Mehr erfahren

Support-HotlineWir sind für Sie da

Entweder Sie stellen Ihre Support-Anfrage per E-Mail
oder rufen uns direkt an:

+49 (0)5231 7090-0

Unsere Telefonzeiten 
Montag bis Freitag: 
8 bis 12 und 12.45 bis 18 Uhr

E-Mail Anfrage