kostenloser Webspace werbefrei: lima-city


SOAP und PHP verbinden

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    snix

    snix hat kostenlosen Webspace.

    Hallo limas,

    ich möchte einfach nur aus Spaß ein Fussballtippspiel programmieren und bin nun auf auf Problem gestoßen.

    Kurze Vorstellung:

    Bis jetzt habe ich eine DB eingerichtet mit Usern und Tipps, zum einloggen und zum abgeben von Tipps. Dies ist implementiert.

    Jetzt brauche ich eine externe DB um auf FUBA-Daten zuzugreifen, ich habe mir hier http://www.openligadb.de/ ausgesucht.
    Nun komme ich allerdings mit den SOAP Methoden nicht klar, in Java könnte ich diese einbinden und benutzen allerdings weiß ich nicht wie ich dies in PHP machen kann.

    SOAP Methoden von openligaDB: http://www.openligadb.de/Webservices/Sportsdata.asmx

    Meine Frage ist: Kann mir jemand eine Seite zeigen wo der Umgang mit SOAP ins PHP erklärt ist oder vllt direkt auf meine Situation anwenden und mir helfen?

    Edit: Ich bin auch für andere Lösungsänsätze offen. Es sollte nur automatisch geschehen, also ich muss nicht die Spieldaten eingeben.

    Beitrag zuletzt geändert: 30.12.2011 14:42:48 von snix
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    SOAP in PHP: hier gibts eine Beschreibung.
    Hier ist die Client-Klasse beschrieben (mit Beispielen).
  4. Autor dieses Themas

    snix

    snix hat kostenlosen Webspace.

    ja danke erstmal ich werd mich daran mal versuchen.

    Edit: So und gleich die nächste Frage.

    <?php
    $options = array('encoding'           => 'UTF-8',
                     'connection_timeout' => 5,
                     'exceptions'         => 1,
                     );
    
    $location = 'http://www.OpenLigaDB.de/Webservices/Sportsdata.asmx?WSDL';
    
    try
    {
        $client = new SoapClient($location, $options);
        $params = new stdClass;
        $params->groupOrderID = 17;
        $params->leagueShortcut = 'bl1';
        $params->leagueSaison = '2011';
        $response = $client->GetMatchdataByGroupLeagueSaison($params);
    }
    catch (SoapFault $e)
    {
        die($e->faultcode . ': ' . $e->faultstring);
    }
    catch (Exception $e)
    {
        die($e->getCode() . ': ' . $e->getMessage());
    }
    
    print_r($response->GetMatchdataByGroupLeagueSaisonResult);
    ?>


    Das bekomme ich eine Ausgabe über das komplette Spiel(kurz nameTeam1 = Bremen nameTeam2 = Koeln), wie kann ich aber nun nach z.B: nameTeam1 aussortieren?

    Beitrag zuletzt geändert: 30.12.2011 16:19:24 von snix
  5. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    snix schrieb:
    Das bekomme ich eine Ausgabe über das komplette Spiel(kurz nameTeam1 = Bremen nameTeam2 = Koeln), wie kann ich aber nun nach z.B: nameTeam1 aussortieren?
    Ich weis nicht ob du das so meinst, aber versuch das mal:
    <?php
    header('Content-Type: text/plain; charset=utf-8');
    $options = array('encoding'           => 'UTF-8',
                     'connection_timeout' => 5,
                     'exceptions'         => 1,
                     );
    
    $location = 'http://www.OpenLigaDB.de/Webservices/Sportsdata.asmx?WSDL';
    
    try {
    	$client = new SoapClient($location, $options);
    	$params = new stdClass;
    	$params->groupOrderID = 17;
    	$params->leagueShortcut = 'bl1';
    	$params->leagueSaison = '2011';
    	$response = $client->GetMatchdataByGroupLeagueSaison($params);
    } catch (SoapFault $e) {
    	die($e->faultcode.': '.$e->faultstring);
    } catch (Exception $e) {
    	die($e->getCode().': '.$e->getMessage());
    }
    
    //print_r($response->GetMatchdataByGroupLeagueSaisonResult);
    
    
    // print only one team
    $team = 'Werder Bremen';
    $matches = $response->GetMatchdataByGroupLeagueSaisonResult->Matchdata;
    echo("Matches: $team\n");
    foreach($matches as $match) {
    	if(($match->nameTeam1 == $team) || ($match->nameTeam2 == $team)) {
    		print_r($match);
    	}
    }
    ?>
  6. Autor dieses Themas

    snix

    snix hat kostenlosen Webspace.

    Nee leider nicht, ich möchte den Wert haben, der sich hinter nameTeam1 versteckt. Das ganze ist ein xml Document, was ich nun auseinanderpflücken will.

    Ausschnitt:

    <GetMatchdataByGroupLeagueSaisonResult>
            <Matchdata>
              <matchID>int</matchID>
              <matchDateTime>dateTime</matchDateTime>


    jetzt möchte ich die MatchID in einer variablen speichern.

    ich hab schon sowas wie
    print_r($response->nameTeam1);
    oder
    print_r($response->GetnameTeam1);
    versucht, aber da ich den sourcecode nicht habe weiß ich nicht welche getter und setter implementiert sind.

    Beitrag zuletzt geändert: 30.12.2011 17:17:29 von snix
  7. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    snix schrieb:
    Nee leider nicht, ich möchte den Wert haben, der sich hinter nameTeam1 versteckt. Das ganze ist ein xml Document, was ich nun auseinanderpflücken will.
    Welchen Wert der sich hinter nameTeam1 versteckt möchtest du haben? Ich verstehe dein Problem nicht ganz.
    snix schrieb:
    jetzt möchte ich die MatchID in einer variablen speichern.

    ich hab schon sowas wie
    print_r($response->nameTeam1);
    oder
    print_r($response->GetnameTeam1);
    versucht, aber da ich den sourcecode nicht habe weiß ich nicht welche getter und setter implementiert sind.
    MatchID:
    $response->GetMatchdataByGroupLeagueSaisonResult->Matchdata[0]->MatchID
    ist die MatchID vom 1. Match. Dabei gehe ich von deinem vorher geposteten Code aus.

    snix schrieb:
    ... aber da ich den sourcecode nicht habe weiß ich nicht welche getter und setter implementiert sind.
    Getter und Setter?
    Alles was du bei print_r siehst reicht aus um das zu wissen
  8. Autor dieses Themas

    snix

    snix hat kostenlosen Webspace.

    Okay alles klar.

    Danke dir
  9. 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!