php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.10.2008, 14:04  
Neuer Benutzer
 
Registriert seit: 22.10.2008
Beiträge: 5
maffy befindet sich auf einem aufstrebenden Ast
Standard XML Daten von einem Service laden

Hallo, ich möchte XML Daten von Geonames in meiner Seite laden und die Daten anzeigen. bzw. später in Google Maps anzeigen lassen.

Wie funktioniert das mit Ajax und PHP.
Habe da keine Ahnung, wie ich das mit Ajax machen kann.

Ich habe mir mal folgendes PHP Script erstell was auch soweit funktioniert.
PHP-Code:
    // Wikipedia Artikel von Geonames holen
    
$filename  file_get_contents("http://ws.geonames.org/findNearbyWikipedia?postalcode=97708&lang=de&radius=10");

    
preg_match_all"/\<entry\>(.*?)\<\/entry\>/s"$filename$entryblocks );

    
#print nl2br(htmlentities($file));

      
foreach( $entryblocks[1] as $block )
      {
          
// Titel
          
preg_match_all"/\<title\>(.*?)\<\/title\>/"$block$title );
  
          
// Beschreibung
          
preg_match_all"/\<summary\>(.*?)\<\/summary\>/"$block$summary );  
        
        
// Distance
        
preg_match_all"/\<distance\>(.*?)\<\/distance\>/"$block$distance );  
        
        
$titel             utf8_decode($title[1][0]);
        
$beschreibung     utf8_decode($summary[1][0]);
        
$entfernung     $distance[1][0];
                    
    
        echo( 
" <h1>{$titel}</h1> {$beschreibung} {$entfernung} km <br/> ");
        
    } 
Mfg Maffy
maffy ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.10.2008, 14:24  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Hallo maffy,

was möchtest du denn jetzt konkret wissen?
"Wie funktioniert das mit AJAX und PHP" ist ein wenig allgemein
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 22.10.2008, 14:27  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

Hallo Maffy,

so wie du das machst, ist das sehr Serverlastig. Jeder Seitenaufruf erzeugt bei denen Traffic. Das werden die nicht mögen.

Besser du richtest dir z.B. ein Cron ein und speicherts die daten (1mal am tag oder Stündlich oder Halbstündlich je nach häufigkeit der Änderungen.)

z.B. so (cron.php):

PHP-Code:
$data file("http://ws.geonames.org/findNearbyWikipedia?postalcode=97708&lang=de&radius=10");

$fp fopen("/pfad/zu/deinem/gespeicherten/geo.xml""w");

foreach (
$data as $line)
    
fwrite($fp$line);

fclose($fp); 
dann würde ich das so umsetzen:

PHP-Code:
function load_geo_xml($file)
{
    if (!(
$xml_array file($file))) {
        die(
"could not open XML input");
    }
    
    
$xml_data implode("",$xml_array);
    
    
$xml_parser xml_parser_create();
    if (!
xml_parse_into_struct($xml_parser$xml_data$werte$index)) {
        die(
sprintf("XML error: %s at line %d",
                    
xml_error_string(xml_get_error_code($xml_parser)),
                    
xml_get_current_line_number($xml_parser)));
    }
    
xml_parser_free($xml_parser);
    
    
$new_data = array();
    foreach (
$index as $key => $val)
    {
        if (
$key == "TYPE")
            continue;
        foreach (
$val as $v_key => $v_val)
        {
            if (!isset(
$werte[$v_val]['value']))
                continue;
                
            
$test_val trim($werte[$v_val]['value']); 
            if (empty(
$test_val))
                continue;
    
            
$new_data[$key][$v_key] = $test_val;
        }
    }
    
    return 
$new_data;

Damit hast du dann alle Daten aus der xml Datei immer verfügbar.
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline  
Alt 22.10.2008, 15:03  
Neuer Benutzer
 
Registriert seit: 22.10.2008
Beiträge: 5
maffy befindet sich auf einem aufstrebenden Ast
Standard

Das Script soll in einem Gemeindesteckbrief eingebaut werden.
aufruft.

Geonames bietet die Daten auch als JSON Abfrage an.

Mein Problem ist, wie der Aufbau der PHP Datei sein muss um daten mit httprequest und Ajax zu laden.

Hier ist mal der Link zu dem Service:
http://www.geonames.org/export/ws-overview.html

Mfg Maffy

Geändert von maffy (22.10.2008 um 15:07 Uhr).
maffy ist offline  
Alt 22.10.2008, 15:04  
Neuer Benutzer
 
Registriert seit: 22.10.2008
Beiträge: 5
maffy befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von JEGO Beitrag anzeigen
Hallo Maffy,Damit hast du dann alle Daten aus der xml Datei immer verfügbar. ....
Ich werde das mal probieren. Danke.

Mfg Maffy
maffy ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mehrere Arrays unterschiedlicher Größe kombinieren querfisch PHP Tipps 2007 9 31.03.2007 21:34
Session Frage - gleiches Formular 2 mal alle Daten behalten NetLook PHP Tipps 2007 1 21.11.2005 18:42
speicherung der daten bei stromausfall? MrCavity Datenbanken 2 19.11.2005 17:39
nur Seitenteil mit geänderten Daten neu laden?? HTML, Usability und Barrierefreiheit 5 01.11.2005 09:10
[Erledigt] sql daten für einen kunden auslesen/ändern im Formular PHP Tipps 2005-2 3 12.10.2005 08:36
Daten auslesen und ändern Datenbanken 2 17.09.2005 19:28
Daten eintragen und auslesen Rettungsdackel Datenbanken 0 14.09.2005 16:29
Bei neu laden werden Daten mehrmals in die DB gschrieben CSS PHP Tipps 2005 5 09.04.2005 17:32
Daten in Datenbank ändern PHP Tipps 2005 3 27.01.2005 14:40
Daten übergeben kampfnickel PHP Tipps 2005 4 05.01.2005 14:12
[Erledigt] MySQL-DB gibt keine Daten zurück!!! Datenbanken 4 21.12.2004 21:00
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
[Erledigt] Formular mit Daten werden auf anderer Seite zusammengefasst PHP Tipps 2004 4 15.08.2004 15:44
Daten in Platzhalter laden PHP Tipps 2004 0 28.06.2004 12:57
HILFE: Column count doesn't match value count at row 1 Datenbanken 17 12.06.2004 16:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php xml seite mit perl auslesen, xml in html darstellen, php xml als textdatei speichern, geonames php script, geonames.php, xml geonames auslesen, php load_geo_xml, http service xml laden mit php datei, findnearbywikipedia, ajax script nur geänderte daten neu laden, geonames änderungen, php xml über url holen und auslesen, ws.geonames.org/findnearbywikipedia script, xml datei via url laden

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:11 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum