Ermittelte Variable weiter verarbeiten
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
angezeigt echo
ausgabe
ausgegeben echo
auslese
code
dank
datei
ermitteln
erscheinen
frage
http
information
lese
problem
schleife
stadt
tapp
url
verarbeitet kriege
versuch
-
So da bin ich auch schon mit der nächsten Frage,
es geht erneut um die Verarbeitung einer variablen die aus einer XML Datei ermittelt wird.
Folgender Ablauf:
Ich lese eine XML Datei ein, deren Link ich mit Variablen zusammen setze,
das läuft auch dank der Hilfe von Hackyourlife wunderbar.
// Empfangene Post-Daten prüfen und in Variablen ablegen $meine_bande = mysql_real_escape_string($_POST["meine_bande"], $dbverbindung); $gegner_bande = mysql_real_escape_string( $_POST["gegner_bande"], $dbverbindung); $stadt = mysql_real_escape_string($_POST["stadt"], $dbverbindung); // Einlesen der XML Datei $xml_meine_bande = simplexml_load_file("http://www.{$stadt}.pennergame.de/dev/api/gang.{$meine_bande}.xml"); $xml_gegner_bande = simplexml_load_file("http://www.{$stadt}.pennergame.de/dev/api/gang.{$gegner_bande}.xml");
In der XML Datei sind ID´s gespeichert, diese lese ich mir nun über eine foreach - Schleife aus.
foreach ($xml_meine_bande->gang->member_list->member as $member_meine) { echo $member_meine->id, "<br>"; }
Mit den ermittelten ID´s aus
würde ich nun gern erneut Links zusammen setzen,$member_meine->id
ich möchte also mit den Informationen aus der ersten XML Datei nun Infos aus einer weiteren XML Datei abrufen.
Ich stelle mir das so etwa vor:
$userid = $member_gegner->id; $xml_user = "http://www.{$stadt}.pennergame.de/dev/api/user.{$userid}.xml";
Das Problem ist nun das ich
nur inerhalb der foreach - Schleife ermitteln kann.$userid = $member_gegner->id;
Kann man die ermittelten Werte irgendwie außerhalb der Schleife verfügbar machen?
Wenn ich innerhalb der Schleife ansetze bekomme ich keine Ausgabe mehr hin.
Die 2te Frage dazu wäre folgende,
ich müsste rein theoretisch informationen aus bis zu 30 solcher XML Datein auslesen auf diesem Weg, also immer in der ersten die ID ermitteln und dann mit dieser ID eine weitere XML ansprechen.
Gibt es dafür einen leichteren Weg?
Der Aufwand ist ja bei einzelnen Abfragen doch sehr hoch, da wollte ich
vorher mal nachfragen.
Danke wie immer für alle Tipps
LG
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
<?php foreach ($xml_meine_bande->gang->member_list->member as $member_meine) { $id[] = $member_meine->id; echo $member_meine->id, "<br>"; } // hier ist $id[] verfügbar
-
Das Problem ist, das ich die id dort nicht weiter verarbeitet kriege.
Ich habe es jetzt noch mal Probiert, leider ohne Erfolg.
Hier mal mein Versuch
foreach ($xml_gegner_bande->gang->member_list->member as $member_gegner) { $userid = $member_gegner->id; // hier sind die ID´s vorhanden und werden auch angezeigt echo $userid, "<br>"; // hier möchte ich die id´s in die url einfügen $xml_user = "http://www.{$stadt}.pennergame.de/dev/api/user.{$userid}.xml"; // hier sollte nun die Ausgabe aus der neuen XML erscheinen // hier wird aber nichts ausgegeben echo $xml_user->user->name; }
Ich weiß auch nicht wirklich ob das so nun möglich ist, es werden ja mit
bis zu 30 verschiedene ID´s ermittelt.$userid = $member_gegner->id;
Wenn ich mit
die ID Versuche im Link auszugeben, wird ja wahrscheinlich immer{$userid}
versucht, die erste ID die gefunden wird zu verwenden.
So richtig will das gerade nicht in meinen Kopf wie ich das am besten anstelle. -
aff3m1tw4ff3 schrieb:
ich tappe zwar ziemlich im finstern, aber da habe ich eine dumpfe vermutung:
... Hier mal mein Versuch
foreach ($xml_gegner_bande->gang->member_list->member as $member_gegner) { $userid = $member_gegner->id; // hier sind die ID´s vorhanden und werden auch angezeigt echo $userid, "<br>"; // hier möchte ich die id´s in die url einfügen $xml_user = "http://www.{$stadt}.pennergame.de/dev/api/user.{$userid}.xml"; // hier sollte nun die Ausgabe aus der neuen XML erscheinen // hier wird aber nichts ausgegeben echo $xml_user->user->name; }
...
du sagst - // hier möchte ich die id´s in die url einfügen
dann heißt es dort in etwa 'http://www.STADT.pennergame.de/dev/api/user.123.xml'
und dann sagst - echo $xml_user->user->name
wobei ich jetzt so ziemlich sicher bin, dass $xml_user kein objekt ist ;)
anhand dessen würde ich sagen:
foreach ($xml_gegner_bande->gang->member_list->member as $member_gegner) { $userid = $member_gegner->id; echo $userid, "<br>"; $xml_user = simplexml_load_file("http://www.{$stadt}.pennergame.de/dev/api/user.{$userid}.xml"); echo $xml_user->user->name; }
aber damit hast nach der schleife die id-s noch immer nicht zur verfügung!
Beitrag zuletzt geändert: 27.11.2012 1:23:48 von czibere -
oh man das nenne ich mal wirklcih blind davor gesessen.
Oben mache ich es doch auch richtig, warum mach ich da so ein Sch...
Damit ist auch gleich meine Frage beantwortet wie die ID´s zugeordnet werden,
Sie sind alle nacheinander vorhanden.
Ich bekomme nun alle Namen nacheinander angezeigt, wie ich es wollte.
Ich danke Dir das Du Dir die Zeit genommen hast, hat mir sehr geholfen.
-
aff3m1tw4ff3 schrieb:
yo mey! das ist um die zeit eher ein glück als volltreffer ;)
... , hat mir sehr geholfen. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage