.xml dmv php en mysql

Hier vind je alles met betrekking tot PHP en MySQL.

.xml dmv php en mysql

Berichtdoor Michael » za 19 feb 2011, 21:12

Hallo,

Ik zit met een probleempje met een .xml bestand. Ik heb op me website een flash banner rotator staan, en de opmaak wordt uit het bestand data.xml gehaald. Nu wil ik graag de gegevens uit me database laden in me .xml bestand.

Dit is me .xml bestand.
Code: Selecteer alles
<?xml version="1.0"?>
<Banner
   bannerWidth=""
   bannerHeight=""

   textSize="14"
   textColor=""
   textAreaWidth=""
   textLineSpacing="0"   
   textLetterSpacing="-0.5"   
   textMarginLeft="12"
   textMarginBottom="5"
   
   transitionType="4"
   transitionDelayTimeFixed="2"
   transitionDelayTimePerWord=".5"
   transitionSpeed="8"
   transitionBlur="yes"
   transitionRandomizeOrder="no"   
   
   showTimerClock="yes"
   showBackButton="yes"
   showNumberButtons="yes"
   showNumberButtonsAlways="no"
   showNumberButtonsHorizontal="no"
   showNumberButtonsAscending="yes"
   autoPlay="yes"
   
   >
   
   <item image="images/featured/test1.jpg"
      link="http://www.google.co.in/search?hl=en&q=1"
      target="_blank"
      textBlend="no"><![CDATA[Harry Potter and the deathly hallows<BR>Nieuwe trailer komt 26 februari</a>.
   ]]></item>   

   <item image="images/featured/test2.jpg"
      link="http://www.google.co.in/search?hl=en&q=1"
      target="_blank"
      textBlend="no"><![CDATA[Harry Potter and the deathly hallows<BR>Nieuwe trailer komt 26 februari</a>.
   ]]></item>      
   
</Banner>


De gegevens uit me database moet tussen dit stukje komen.
Code: Selecteer alles
   <item image="images/featured/test2.jpg"
      link="http://www.google.co.in/search?hl=en&q=1"
      target="_blank"
      textBlend="no"><![CDATA[Harry Potter and the deathly hallows<BR>Nieuwe trailer komt 26 februari</a>.
   ]]></item>


Thanks alvast ;)
Michael
 
Berichten: 83
Geregistreerd: zo 21 maart 2010, 20:03
Woonplaats: Nijkerk

Re: .xml dmv php en mysql

Berichtdoor Davey » zo 20 feb 2011, 09:40

data.xml hernoemen naar data.php

Vervolgens kun een header meegeven, zodat de browser denkt dat het daadwerkelijk een xml bestand is:

header ("content-type: text/xml");

Dus:
Code: Selecteer alles
<?php
header ("content-type: text/xml");
?>
<?xml version="1.0"?>
<Banner
   bannerWidth=""
   bannerHeight=""

   textSize="14"
   etc. etc.


Als je nu data.php opent, zul je zien dat de browser het als een normaal XML bestand behandelt. Nu kun je ook PHP gebruiken in de rest van het bestand:
Code: Selecteer alles
$query = "SELECT .... ";
$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result)) {
   echo '<item image="images/featured/test2.jpg"
      link="http://www.google.co.in/search?hl=en&q=1"
      target="_blank"
      textBlend="no"><![CDATA['.$row['titel'].'
   ]]></item>';
}
Avatar gebruiker
Davey
Beheerder
 
Berichten: 253
Geregistreerd: wo 10 feb 2010, 23:30
Woonplaats: Nederland

Re: .xml dmv php en mysql

Berichtdoor Michael » zo 20 feb 2011, 12:45

Thanks voor de reactie :D

Ik heb het veranderd naar dit:
Code: Selecteer alles
<?php
header ("content-type: text/xml");
?>
<?xml version="1.0"?>


Als ik dan naar http://www.skyna.nl/data.php ga krijg ik de volgende foutmelding:


Parse error: syntax error, unexpected T_STRING in /home/deb31727/domains/skyna.nl/public_html/data.php on line 4
Michael
 
Berichten: 83
Geregistreerd: zo 21 maart 2010, 20:03
Woonplaats: Nijkerk

Re: .xml dmv php en mysql

Berichtdoor Davey » zo 20 feb 2011, 13:02

Ah ja, even veranderen naar:

Code: Selecteer alles
<?php
header("content-type: text/xml");
echo '<?xml version="1.0" ?>';
?>
Avatar gebruiker
Davey
Beheerder
 
Berichten: 253
Geregistreerd: wo 10 feb 2010, 23:30
Woonplaats: Nederland

Re: .xml dmv php en mysql

Berichtdoor Michael » zo 20 feb 2011, 13:17

Nogmaals dank :D

Krijg nu alleen de melding:

Warning: Cannot modify header information - headers already sent by (output started at /home/deb31727/domains/skyna.nl/public_html/data.php:1) in /home/deb31727/domains/skyna.nl/public_html/data.php on line 2
Adjustable Size, Color with ability to add Hyper Links. ]]>
Michael
 
Berichten: 83
Geregistreerd: zo 21 maart 2010, 20:03
Woonplaats: Nijkerk

Re: .xml dmv php en mysql

Berichtdoor Davey » zo 20 feb 2011, 14:15

Niets erboven zetten, ook geen spatie, dus direct <?php ....
Avatar gebruiker
Davey
Beheerder
 
Berichten: 253
Geregistreerd: wo 10 feb 2010, 23:30
Woonplaats: Nederland

Re: .xml dmv php en mysql

Berichtdoor Michael » zo 20 feb 2011, 15:02

Ik heb er niks boven staan.
Code: Selecteer alles
<?php
header("content-type: text/xml");
echo '<?xml version="1.0" ?>';
?>

<Banner
   bannerWidth=""
   bannerHeight=""

   textSize="14"
   textColor=""
   textAreaWidth=""
   textLineSpacing="0"   
   textLetterSpacing="-0.5"   
   textMarginLeft="12"
   textMarginBottom="5"
   
   transitionType="1"
   transitionDelayTimeFixed="2"
   transitionDelayTimePerWord=".5"
   transitionSpeed="8"
   transitionBlur="yes"
   transitionRandomizeOrder="no"   
   
   showTimerClock="yes"
   showBackButton="no"
   showNumberButtons="yes"
   showNumberButtonsAlways="no"
   showNumberButtonsHorizontal="no"
   showNumberButtonsAscending="yes"
   autoPlay="yes"
   
   >
   
   <item image="images/featured/test.jpg"
      link="http://www.google.co.in/search?hl=en&q=1"
      target="_blank"
      textBlend="no"><![CDATA[XML DRIVEN CAPTION.<BR>Adjustable Size, <font color='#FFCC00'>Color</font> with ability to add <a href='http://www.google.com' target='_blank'><font color='#CCFF66'>Hyper Links</font></a>.
   ]]></item>

</Banner>

Michael
 
Berichten: 83
Geregistreerd: zo 21 maart 2010, 20:03
Woonplaats: Nijkerk

Re: .xml dmv php en mysql

Berichtdoor Davey » zo 20 feb 2011, 15:30

Hmm, dat is vreemd, heb de code zelf ook even uitgetest en ik krijg geen error.
Avatar gebruiker
Davey
Beheerder
 
Berichten: 253
Geregistreerd: wo 10 feb 2010, 23:30
Woonplaats: Nederland

Re: .xml dmv php en mysql

Berichtdoor Michael » ma 21 feb 2011, 09:19

Hmm inderdaad raar.

Ik zit nu op me werk en heb ff gekeken via IE6 dan krijg ik de volgende melding.

Code: Selecteer alles
The XML page cannot be displayed
Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.


--------------------------------------------------------------------------------

Only one top level element is allowed in an XML document. Error processing resource 'http://www.skyna.nl/data.php'. Line 2...

<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at /home/deb31727/do...
Michael
 
Berichten: 83
Geregistreerd: zo 21 maart 2010, 20:03
Woonplaats: Nijkerk

Re: .xml dmv php en mysql

Berichtdoor Davey » ma 21 feb 2011, 18:47

Ah vandaar, je hebt een error in je XML, waardoor er inhoud verschijnt voordat de header wordt aangeroepen (mag niet). Verander het even terug naar .xml (hoe je bestand er eerst uitzag, zonder PHP) en kijk dan of de error dan ook komt.
Avatar gebruiker
Davey
Beheerder
 
Berichten: 253
Geregistreerd: wo 10 feb 2010, 23:30
Woonplaats: Nederland

Re: .xml dmv php en mysql

Berichtdoor Michael » wo 23 feb 2011, 20:32

Thanks voor de tip. Er zit inderdaad al een fout in me .xml bestand. Ik krijg namelijk de volgende foutmelding.

Code: Selecteer alles
This page contains the following errors:

error on line 32 at column 45: EntityRef: expecting ';'
Below is a rendering of the page up to the first error.


Het gaat om deze regel

Code: Selecteer alles
link="http://www.google.co.in/search?hl=en&q=1"
Michael
 
Berichten: 83
Geregistreerd: zo 21 maart 2010, 20:03
Woonplaats: Nijkerk

Re: .xml dmv php en mysql

Berichtdoor Davey » do 24 feb 2011, 08:02

';' erachter zetten?

dus:
Code: Selecteer alles
link="http://www.google.co.in/search?hl=en&q=1";
Avatar gebruiker
Davey
Beheerder
 
Berichten: 253
Geregistreerd: wo 10 feb 2010, 23:30
Woonplaats: Nederland

Re: .xml dmv php en mysql

Berichtdoor Michael » za 26 feb 2011, 11:01

Het rare is dat ik zelfs een foutmelding krijg als ik alleen dit
Code: Selecteer alles
<?php
header("content-type: text/xml");
echo '<?xml version="1.0"?>';
?>


in de data.php zet en verder niks.

Dit is de foutmelding
Code: Selecteer alles
Warning: Cannot modify header information - headers already sent by (output started at /home/deb31727/domains/skyna.nl/public_html/data.php:1) in /home/deb31727/domains/skyna.nl/public_html/data.php on line 2
Michael
 
Berichten: 83
Geregistreerd: zo 21 maart 2010, 20:03
Woonplaats: Nijkerk

Re: .xml dmv php en mysql

Berichtdoor Davey » zo 27 feb 2011, 14:35

Heel vreemd, ik zou verder ook niet weten waar die error dan vandaan moet komen.
Avatar gebruiker
Davey
Beheerder
 
Berichten: 253
Geregistreerd: wo 10 feb 2010, 23:30
Woonplaats: Nederland

Re: .xml dmv php en mysql

Berichtdoor remystr » do 03 maart 2011, 01:32

Op een ander forum las ik dat het misschien komt doordat je witruimte (spaties en/of enters) voor de opening van een php-tag hebt. Hierdoor interpreteert de browser het bestand als een php-bestand en vervolgens zeg je dat het een xml-bestand is. Waarna hij die foutmelding geeft.

Ik weet niet of het inderdaad waar is maar het klinkt vrij logisch en is zeker niet veel moeite om het te proberen.
Avatar gebruiker
remystr
 
Berichten: 50
Geregistreerd: wo 28 apr 2010, 11:43

Volgende

Keer terug naar PHP & MySQL

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers. en 1 gast

© Skindo.nl - 2010
cron