Anzeige - [Interessiert an einer Anzeige?]
(?) Tags raten (?) (edit)
 
Reply to this topicStart new topicStart Poll
> XML in eine php Datei
kekskruemel
---
Geschrieben am: Sa 12.07.2008, 08:34
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 305
Mitglied seit: 8.11.2005


Hallo,

ich habe eine php Datei. Diese greift zu erst auf eine übertragene PLZ zu und sucht dann PLZ im Umkreis. Diese wiederrum werden abgefragt in der Datenbank und anschließend die entsprechenden Daten dazu ausgegeben.

Die Ausgabe der Daten soll dann in der php Datei als xml erfolgen.

Nun mache ich diese Ausgabe als xml das erste mal und stoße auch gleich auf ein paar Fragen und Probleme.

1. kann ich überhaupt eine php Datei so gestalten, dass Sie trotz der Endung php XML Formatierungen ausgibt oder müsste die Datei eher eine xml sein (und auch als diese aufgerufen werden) und php Codes enthalten?

2. Ich habe den ersten Versuch nun als php Datei mit Ausgaben als xml gemacht und die Ausgabe sieht leider gar nicht aus wie xml
QUOTE
JetL�btauer Str. 51-5501159Dresden1.6191.5191.5591.559GOTharandter Str. 4801159Dresden1.5591.5591.6191.5190.7291.519TotalKesselsdorfer Str. 21401169Dresden1.6391.5391.5791.579TotalWiener Str. 3901069Dresden1.6591.5491.5991.599AralBergstr./Ecke S�dh�he01217Dresden1.5491.5491.4991.6891.599JETPeschelstra�e 3601139Dresden1.6191.5191.5591.559


Der Code hierzu:
CODE
<?php
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Pragma: no-cache');
header('Cache-Control: no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0');
header('Content-Type: text/xml; charset=UTF-8');
$content = "<?xml version='1.0' encoding='UTF-8'?>\n";
$content .= '<results>';

// natürlich erst eine Verbing zur Datenbank aufbauen!



// die PLZ nach der wir suchen
$plz = $_GET['q'];
// der Umkreis in Km
$umkreis = $_GET['r'];
// Kraftstoff
$kraftstoff = $_GET['k'];
//Land
$land = $GET['l'];

$sql_rad = mysql_query("SELECT laenge, breite FROM plz WHERE plz = '$plz' ");
$erg_rad = mysql_fetch_object($sql_rad);

//Umkreisberechnung entfernt für Übersichtlichkeit - Ausgabe: PLZ der Umgebung

$sql = mysql_query($query);
while( $erg = mysql_fetch_object($sql) )
{
$plzra=$erg->plz;

// Suche der Tankstellen in diesen PLZ aus der Umgebung
$qu_tank = "SELECT *, FROM_UNIXTIME(preis_update, \"%Y-%m%-%d\") AS datum FROM tankstellen LEFT JOIN preise ON preis_tank = tank_id WHERE preis_wert != 0 AND preis_aktiv != 0 AND tank_land='".@$_GET['l']."' AND tank_plz=".$plzra." GROUP BY tank_id";

   $qu_sq   = mysql_query($qu_tank) or die(mysql_error());
while( $ds = mysql_fetch_object($qu_sq) )
{
       $content .= "<entry>";
  $content .= "<name>".$ds->tank_name."</name>";
       $content .= "<adresse>".$ds->tank_adr."</adresse>";
       $content .= "<plz>".$ds->tank_plz."</plz>";
       $content .= "<stadt>".$ds->tank_stadt."</stadt>";      
     //Ausgabe der einzelnen Tankstellen

$qu_tank2 = "SELECT *, FROM_UNIXTIME(preis_update, \"%Y-%m%-%d\") AS datum FROM tankstellen LEFT JOIN preise ON preis_tank = tank_id WHERE preis_wert != 0 AND preis_aktiv != 0 AND tank_land='".@$_GET['l']."' AND tank_plz=$ds->tank_plz AND tank_id=$ds->tank_id ";

//Suche der Preise zur aktuellen Tankstelle

$qu_sq2   = mysql_query($qu_tank2) or die(mysql_error());
while( $ds2 = mysql_fetch_object($qu_sq2) )
{
       
       if ($ds2->preis_type=1)
       {$preis_typ="super";}
       if ($ds2->preis_type=2)
       {$preis_typ="benzin";}
       if ($ds2->preis_type=3)
       {$preis_typ="diesel";}
       if ($ds2->preis_type=4)
       {$preis_typ="superplus";}
       if ($ds2->preis_type=5)
       {$preis_typ="superdiesel";}
       if ($ds2->preis_type=6)
       {$preis_typ="lkwdiesel";}
       if ($ds2->preis_type=7)
       {$preis_typ="biodiesel";}
       if ($ds2->preis_type=8)
       {$preis_typ="autogas";}
               if ($ds2->preis_type=9)
       {$preis_typ="erdgas";}
               if ($ds2->preis_type=10)
       {$preis_typ="e50";}
               if ($ds2->preis_type=11)
       {$preis_typ="e85";}
               if ($ds2->preis_type=12)
       {$preis_typ="pflanzenoel";}

 $content .= "<".$preis_typ.">".$ds2->preis_wert."</".$preis_typ.">";
 
}
 $content .= "</entry>";

 
}

}
$content .= '</results>';
printf ($content);
?>


Alle Ergebnisse werden ausgeben, nicht jedoch in den XML <name>blabla</name>


--------------------
Top
PMEmail PosterUsers WebsiteICQ
Top
 
 
jAuer
Jürgen Auer - freiberufl. Programmierer
#2 Geschrieben am: Sa 12.07.2008, 10:29 (+01:54)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 2192
Mitglied seit: 4.02.2006


QUOTE (kekskruemel @ Sa 12.07.2008, 08:34)
1. kann ich überhaupt eine php Datei so gestalten, dass Sie trotz der Endung php XML Formatierungen ausgibt oder müsste die Datei eher eine xml sein (und auch als diese aufgerufen werden) und php Codes enthalten?


Was interessieren bei Xml Formatierungen? Das

QUOTE (kekskruemel @ Sa 12.07.2008, 08:34)
QUOTE
JetL�btauer Str. 51-5501159Dresden1.6191.5191.5591.559GOTharandter Str. 4801159Dresden1.5591.5591.6191.5190.7291.519TotalKesselsdorfer Str. 21401169Dresden1.6391.5391.5791.579TotalWiener Str. 3901069Dresden1.6591.5491.5991.599AralBergstr./Ecke S�dh�he01217Dresden1.5491.5491.4991.6891.599JETPeschelstra�e 3601139Dresden1.6191.5191.5591.559



sieht doch schon von der Tendenz her ok aus. Wenn das die Browseransicht ist und Du da in den Quellcode siehst, dann sind da wahrscheinlich alle Xml-Elemente vorhanden.

Sprich: Das scheint aktuell lediglich ein Problem des Clientbrowsers zu sein, der Content mit der Endung PHP nicht als Xml-Dokument darstellt. Für die Anwendung ist das aber uninteressant - weil der Xml-Output ja ohnehin direkt gelesen und weiterverarbeitet wird.

Ansonsten schick mal eine Url.


--------------------
Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.

server-daten: Web-Datenbanken als Online - CRM - Lösung.
Konzentrieren Sie sich auf Ihr Kerngeschäft - nutzen Sie eine schlanke, schnelle Online-Datenbank von verschiedenen Standorten.
Top
PMEmail PosterUsers Website
Top
 
kekskruemel
---
#3 Geschrieben am: Sa 12.07.2008, 10:59 (+00:29)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 305
Mitglied seit: 8.11.2005


du hast recht. Ich habe mir den Quelltext im Browser (Safari) einmal angeschaut. Da stehen diese <name> drin.

Bedeutet dies, dass jemand, der nun diese Daten beziehen möchte um diese in seine php Datei zu importieren auch verwenden kann?

Wie kann ich die Sache mit den ü, ä ö Lösen? Ich sollte ja, wie ich gelesen habe, bei einer xml schon utf8 verwenden oder kann ich auch anderes nutzen?




--------------------
Top
PMEmail PosterUsers WebsiteICQ
Top
 
jAuer
Jürgen Auer - freiberufl. Programmierer
#4 Geschrieben am: Sa 12.07.2008, 13:04 (+02:04)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 2192
Mitglied seit: 4.02.2006


QUOTE (kekskruemel @ Sa 12.07.2008, 10:59)
Bedeutet dies, dass jemand, der nun diese Daten beziehen möchte um diese in seine php Datei zu importieren auch verwenden kann?


Im Prinzip ja.

Speichere die Datei mal mit der Endung .xml ab und öffne sie wieder im IE/FF. Wenn dann nicht gemeckert wird, dann sollte die Datei ein wohlgeformtes Xml-Dokument sein. Das ist Voraussetzung für ein Weiterverarbeiten.

QUOTE (kekskruemel @ Sa 12.07.2008, 10:59)
Wie kann ich die Sache mit den ü, ä ö Lösen? Ich sollte ja, wie ich gelesen habe, bei einer xml schon utf8 verwenden oder kann ich auch anderes nutzen?


Am einfachsten als UTF-8 - Datenstrom generieren. Dann können beliebige Umlaute / Sonderzeichen enthalten sein.

Theoretisch (das ist ja wohl ISO-8859-1) kann man das auch in den Xml-Prolog schreiben:

CODE
<?xml version='1.0' encoding='ISO-8859-1'?>


Praktisch sollte man schon seit Jahren keine Ein-Byte-Zeichensätze mehr verwenden. Also als UTF-8 mit Prolog

CODE
<?xml version='1.0' encoding='UTF-8'?>


oder die Encoding-Declaration weglassen, weil UTF-8 ohnehin Standard ist.


--------------------
Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.

server-daten: Web-Datenbanken als Online - CRM - Lösung.
Konzentrieren Sie sich auf Ihr Kerngeschäft - nutzen Sie eine schlanke, schnelle Online-Datenbank von verschiedenen Standorten.
Top
PMEmail PosterUsers Website
Top
 
kekskruemel
---
#5 Geschrieben am: Sa 12.07.2008, 13:22 (+00:18)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 305
Mitglied seit: 8.11.2005


ich habe die Datei in xml umbenannt und folgender Fehler:
QUOTE
error on line 10 at column 51: Document is empty

CODE
<?php
//error_reporting(E_ALL);
//ini_set('display_errors',1);
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Pragma: no-cache');
header('Cache-Control: no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0');
header('Content-Type: text/xml; charset=UTF-8');
$content = "<?xml version='1.0' encoding='UTF-8'?>\n";

$content .= '<results>';

// natürlich erst eine Verbing zur Datenbank aufbauen!



Zeile 10 ist hier die Definition: $content = "<?xml version ....





--------------------
Top
PMEmail PosterUsers WebsiteICQ
Top
 
jAuer
Jürgen Auer - freiberufl. Programmierer
#6 Geschrieben am: Sa 12.07.2008, 13:32 (+00:10)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 2192
Mitglied seit: 4.02.2006


QUOTE (kekskruemel @ Sa 12.07.2008, 13:22)
ich habe die Datei in xml umbenannt und folgender Fehler:

Aber doch nicht die PHP-Datei auf deinem Server.

Die muß PHP bleiben, auf daß der Code ausgeführt wird.

Das, was Du dir in deinem Safari angeguckt hast, das lokal speichern und als .xml umbenennen.


--------------------
Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.

server-daten: Web-Datenbanken als Online - CRM - Lösung.
Konzentrieren Sie sich auf Ihr Kerngeschäft - nutzen Sie eine schlanke, schnelle Online-Datenbank von verschiedenen Standorten.
Top
PMEmail PosterUsers Website
Top
 
800XE
#7 Geschrieben am: So 13.07.2008, 00:12 (+10:39)
Report PostQuote Post

AyomRank 3
******

Gruppe: Member (aktiv)
Beiträge: 41
Mitglied seit: 10.04.2008


QUOTE (kekskruemel @ Sa 12.07.2008, 14:22)
ich habe die Datei in xml umbenannt und folgender Fehler:
QUOTE
error on line 10 at column 51: Document is empty

CODE
<?php
header('Content-Type: text/xml; charset=UTF-8');
$content = "<?xml version='1.0' encoding='UTF-8'?>\n";



Zeile 10 ist hier die Definition: $content = "<?xml version ....

Wenn du die .php einfach umbenennst, dann geht es ja nicht mehr durch den PHParser .....

lass es .php
und ändere mal den headerBefehl
xml ist nähmlich irgendwie kein "text" sondern "Programm"
CODE

<?php  

 header("Content-type: application/xml; charset=iso-8859-1");    
 echo("<?xml version='1.0' encoding='ISO-8859-1' ?>
 <rss version='2.0'
                   xmlns:content='http://purl.org/rss/1.0/modules/content/'
                   xmlns:wfw='http://wellformedweb.org/CommentAPI/'
 >


du willst das es als domain.tld/rss.xml aufgerufen werden kann


.htaccess
CODE

RewriteEngine ON

RewriteRule (.*)rss\.xml$         /rss.php

ähm, oder
CODE

RewriteEngine ON

RewriteRule rss\.xml         /rss.php

oder
CODE
RewriteRule ^rss\.xml         /rss.php

und deine .php hat den Namen rss.php
so mach ich es auf 800xe.de
meine htaccess
CODE
RewriteRule (.*)\.xml$         /?rss=$1

+ index.php
CODE

 if ( $_GET['rss'] )
$_SERVER['REQUEST_URI']=str_replace('.xml','.html',$_SERVER['REQUEST_URI']);




--------------------
zurück in die Zukunft CSVAndy 800XE Zmuda ····
Top
PMEmail Poster
Top
 
blubdiblub
#8 Geschrieben am: So 13.07.2008, 07:42 (+07:30)
Report PostQuote Post

AyomRank 3
******

Gruppe: Member (aktiv)
Beiträge: 48
Mitglied seit: 26.04.2008


QUOTE
lass es .php
und ändere mal den headerBefehl
xml ist nähmlich irgendwie kein "text" sondern "Programm"


leider falsch es ist text und der korrekte header ist text/xml
Top
PMEmail Poster
Top
 
jAuer
Jürgen Auer - freiberufl. Programmierer
#9 Geschrieben am: So 13.07.2008, 12:25 (+04:42)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 2192
Mitglied seit: 4.02.2006


QUOTE (blubdiblub @ So 13.07.2008, 07:42)
leider falsch es ist text und der korrekte header ist text/xml

Leider ist das falsch.

Genaueres findet sich unter http://www.w3.org/TR/xhtml-media-types/

Es gibt für Xml mehrere Möglichkeiten für den Content-Type. text/xml ist nur eine davon.

<ot>
Aber schön sind doch hier die google-Anzeigen:

*
Autogas Umbau Berlin
Qualität mit Zufriedenheitsgarantie Über 1000 Autos umgerüstet
www.autogastanken24.de
*
Autogas Tankstellen
Jetzt auf Autogas umrüsten und sofort für die Hälfte tanken!
www.autogas-berlin24.de
*
CMS einfach einfach
Desktop Look & Feel im Browser J2EE basiertes Enterprise CMS
www.innovationgate.de

thematisch passend. tongue.gif

</ot>


--------------------
Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.

server-daten: Web-Datenbanken als Online - CRM - Lösung.
Konzentrieren Sie sich auf Ihr Kerngeschäft - nutzen Sie eine schlanke, schnelle Online-Datenbank von verschiedenen Standorten.
Top
PMEmail PosterUsers Website
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/25331

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
Wieviel Zeit braucht eine neue Webseite? re.fa 705 20 Fr 15.08.2008, 06:16
Bitte voten für eine Badewanne voll Bier Seth.Gecko 137 1 Do 31.07.2008, 08:08
Php-Variable in einer Javascript-Datei Jan_cmp 184 3 Fr 25.07.2008, 17:34
Woher bekomme ich eine Visa/Mastercard Karte? Josh 1799 8 Mi 9.07.2008, 19:27
Wo/Wer haftet für eine Webseite ? mailben66 468 18 Mo 7.07.2008, 12:59
Eine Seite, die absolut nötig ist memoriam 317 2 Mi 2.07.2008, 20:11
Hilfe für eine Freundin finanzcheck 199 4 Mi 2.07.2008, 19:26
Ms dos Datei in Text-Datei umwandeln sylvia73 110 3 Mi 2.07.2008, 15:44
Suche eine Webseite/Applikation Tuemmel 251 3 Do 26.06.2008, 13:44
Ab wann ist eine Website "gewerblich"? Messer-Jockel 212 1 Do 19.06.2008, 17:41




Anzeige - [Interessiert an einer Anzeige?]



Anzeigen


[Interessiert an einer Anzeige?]