Antworten auf deine Fragen:
Neues Thema erstellen

nur der erste teile der whileschleife wird wiedergegeben

Fugel

rebmeM

PSD Beta Team
hallo leute, ich hole mir mit einem xml parser script daten von einer xml, diese werden in einen array geladen, danach lass ich mir diese daten ausgeben un speichere sie in meine datenbank. das alles klappt auch wunderbar nur an einer stelle hängt es.

ich habe in einem array noch einen array und will mir diesen zusammen fügen und in ein datenbankfeld speichern, nur leider zeigt er mir immer nur das erste arrayelement an. was mach ich falsch? hier die betreffende zeile:

PHP:
$l = 0; while($arrXml['orders']['order'][$i]['items']['item'][$l]['name']){
                    $orders = $arrXml['orders']['order'][$i]['items']['item'][$l]['product_id']; if(!$arrXml['orders']['order'][$i]['items']['item'][$l]['product_art_no']){$orders .= " - ";}else{$orders .= $arrXml['orders']['order'][$i]['items']['item'][$l]['product_art_no']." :: ";} $orders .= $arrXml['orders']['order'][$i]['items']['item'][$l]['variant_id']." :: ".$arrXml['orders']['order'][$i]['items']['item'][$l]['name']." :: ".$arrXml['orders']['order'][$i]['items']['item'][$l]['price']."<br>"; $l++;
                }
 

cebito

undefined

AW: nur der erste teile der whileschleife wird wiedergegeben

Ich mag das jetzt nicht auseinanderfuzzeln, aber vielleicht könntest du deinen code mal schön eingerückt untereinder posten. Kein Mensch will diese Zeile zerpflücken... :rolleyes:
 

Duddle

Posting-Frequenz: 14µHz

AW: nur der erste teile der whileschleife wird wiedergegeben

Hier erstmal etwas vernünftiger:
PHP:
<?php
$l = 0;
$item = $arrXml['orders']['order'][$i]['items']['item'];
while($item[$l]['name']){
	$orders = $item[$l]['product_id'];
	if(!$item[$l]['product_art_no']) {
		$orders .= " - ";
	} else {
		$orders .= $item[$l]['product_art_no']." :: ";
	}
	$orders .= $item[$l]['variant_id']." :: ".$item[$l]['name']." :: ".$item[$l]['price']."<br>";
	$l++;
}
?>

Offensichtlich wird die Schleife dann abgebrochen, wenn 'name' des l-ten Elementes nicht mehr als true interpretiert wird. Das ist der Fall, wenn es eines von folgendem ist:
http://www.php.net/manual/en/language.types.boolean.php schrieb:
* the boolean FALSE itself
* the integer 0 (zero)
* the float 0.0 (zero)
* the empty string, and the string "0"
* an array with zero elements
* an object with zero member variables (PHP 4 only)
* the special type NULL (including unset variables)
* SimpleXML objects created from empty tags
Du solltest also deine Daten auf diese Fälle überprüfen und entsprechend behandeln. Ansonsten musst du mehr verraten: was sind deine Eingabedaten, welches Ergebnis erwartest du, welches Ergebnis siehst du?


Duddle
 

Fugel

rebmeM

PSD Beta Team
AW: nur der erste teile der whileschleife wird wiedergegeben

hallo duddl, danke erstmal für deine mühe.

also bei name kommt auf jeden fall etwas raus, halt nen kürzerer text.

im übrigen ist diese while schleife in einer anderen, kann das eine auswirkung haben?
 

fakerer

Aktives Mitglied

AW: nur der erste teile der whileschleife wird wiedergegeben

warum machst du das ganze nicht mit foreach dann gibt es keine abbruchbedingung.
und wenns nur darum geht das ganze zu speichern verwend doch serialize
 

Fugel

rebmeM

PSD Beta Team
AW: nur der erste teile der whileschleife wird wiedergegeben

so ich hab jetzt den fehler gefunden, wenn ich die betreffende zeile mit echo ausgebe dann klappt alles, nur möchte ich das was da ausgegeben wir in eine variable speichern, wie geht das?

edit: hat sich erledigt, ich hatte die lößung bereits, hatte nur nen tippfehler, desswegen hats nicht funktioniert
 
Zuletzt bearbeitet:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.638
Beiträge
1.538.500
Mitglieder
67.559
Neuestes Mitglied
hanuta
Oben