kostenloser Webspace werbefrei: lima-city


Ermittelte Variable weiter verarbeiten

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    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
    $member_meine->id
    würde ich nun gern erneut Links zusammen setzen,
    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
    $userid = $member_gegner->id;
    nur inerhalb der foreach - Schleife ermitteln kann.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. <?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
  4. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    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
    $userid = $member_gegner->id;
    bis zu 30 verschiedene ID´s ermittelt.

    Wenn ich mit
    {$userid}
    die ID Versuche im Link auszugeben, wird ja wahrscheinlich immer
    versucht, die erste ID die gefunden wird zu verwenden.

    So richtig will das gerade nicht in meinen Kopf wie ich das am besten anstelle.
  5. aff3m1tw4ff3 schrieb:
    ... 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 tappe zwar ziemlich im finstern, aber da habe ich eine dumpfe vermutung:
    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
  6. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    :wall: 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.

  7. aff3m1tw4ff3 schrieb:
    ... , hat mir sehr geholfen.
    yo mey! das ist um die zeit eher ein glück als volltreffer ;)
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!