Ophion Geplaatst: 16 februari 2009 Rapport Geplaatst: 16 februari 2009 (bewerkt) Hallo, ik ben XML DOM nodig om variabelen die ik met mijn php bestand uit mijn mysql database heb gehaalt in mijn flash filmpje te zetten. Alleen ik heb geen idee hoe ik attributen in een element moet zetten, en krijg bij mijn variabele (news_main heet ie) ´. naam .´ enzovoort en ik wil alleen die naam hebben zeg maar, en geen punten en aanhalingstekens. <?php $link = mysql_connect("hidden", "hidden", "hidden"); mysql_select_db("a1184034_Lord"); $query = 'SELECT news_main FROM news'; $results = mysql_query($query); $doc = new DOMDocument(); $doc->formatOutput = true; $r = $doc->createElement( "employees" ); $doc->appendChild( $r ); $employees = array(); while($line = mysql_fetch_array($results)) { $employees [] = array( 'name' => "'. $line[news_main] .'" ); } foreach($employees as $employee ) { $b = $doc->createElement( "employee" ); $name = $doc->createElement( "name" );s $name->appendChild($doc->createTextNode( $employee['name'])); $b->appendChild( $name ); $r->appendChild( $b ); } echo $doc->saveXML(); $doc->save("write.xml") ?> Wie kan me uit de brand helpen? Ik zit al dagenlang te broeden om dit voor elkaar te krijgen. Vriendelijk bedankt, Jeroen. Bewerkt: 16 februari 2009 door Ophion Reageren
Thundercover Geplaatst: 16 februari 2009 Rapport Geplaatst: 16 februari 2009 Wat XML DOM precies is, weet ik niet, maar ik heb wel even je script door genomen. 'name' => "'. $line[news_main] .'" Moet news_main niet tussen aanhalingstekens, dus zoals onderstaand? 'name' => "'. $line['news_main'] .'" Verder lijkt me ook hier een typfout op het eind: $name = $doc->createElement( "name" );s En misschien na het onderstaande ook een puntkomma plaatsen, maar ik weet niet zeker of dat noodzakelijk is. Persoonlijk raad ik je het wel aan, dan laat namelijk wel zien dat die actie is afgelopen voordat PHP wordt afgesloten. $doc->save("write.xml") Reageren
Ophion Geplaatst: 16 februari 2009 Auteur Rapport Geplaatst: 16 februari 2009 Vriendelijk bedankt voor uw hulp, alleen ik krijg nog steeds een error namelijk: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/a1184034/public_html/lol.php on line 17 , bij 'name' => "'. $line['news_main'] .'" . En die ´s´ op het eind was idd een typfout. Groetjes Jeroen. Reageren
Thundercover Geplaatst: 16 februari 2009 Rapport Geplaatst: 16 februari 2009 Die aanhalingstekens lijken er juist niet te moeten staan, want die leveren inderdaad je bovenstaande error op. Ik ben er in ieder geval nog naar aan te kijken of ik eruit kom. Edit: Ik heb nu deze code waarmee ik geen fouten kreeg. Ik heb de code hier en daar wat aangepast om te testen, maar dat heb ik aangegeven. Volgens mij ligt het aan het feit dat je een kolom news_main noemt, terwijl je misschien beter geen speciale tekens kan gebruiken. Zelf had ik daar in het begin ook last van, maar aan elkaar zou het moeten lukken. Hopelijk brengt de code nu wat je wilt. <?php /* CODE OPHION $link = mysql_connect("hidden", "hidden", "hidden"); mysql_select_db("a1184034_Lord"); */ $server = "localhost"; $user = "user"; $password = ""; $database = ""; $connect = mysql_connect($server,$user,$password) or die ("Er kon geen verbinding gemaakt worden met de server."); mysql_select_db($database,$connect) or die ("Er kon geen verbinding gemaakt worden met de database."); $query = "SELECT * FROM news "; // deze code is aangepast $results = mysql_query($query) or die ( mysql_error( ) ); $doc = new DOMDocument(); $doc->formatOutput = true; $r = $doc->createElement( "employees" ); $doc->appendChild( $r ); $employees = array(); while($line = mysql_fetch_array($results)) { $employees [] = array( 'name' => "" .$line['news_main']. "" ); } foreach($employees as $employee ) { $b = $doc->createElement( "employee" ); $name = $doc->createElement( "name" ); $name->appendChild($doc->createTextNode( $employee['name'])); $b->appendChild( $name ); $r->appendChild( $b ); } echo $doc->saveXML(); $doc->save("write.xml"); ?> Reageren
Ophion Geplaatst: 16 februari 2009 Auteur Rapport Geplaatst: 16 februari 2009 Het werkt! Bedankt, want anders had ik dit nooit geweten Weet iemand hoe ik met XML een attribuut toevoeg aan een element? Groetjes, Jeroen. Reageren
K.O. Geplaatst: 16 februari 2009 Rapport Geplaatst: 16 februari 2009 Zelf heb ik nooit naar XML gekeken, maar misschien dat deze site je iets helpt. Volgens mij kun je gewoon setAttribute() gebruiken. Reageren
Ophion Geplaatst: 16 februari 2009 Auteur Rapport Geplaatst: 16 februari 2009 Heb die site al een paar keer bekeken, en zag zojuist een Tryit Editor staan, waarmee ik wat gedaan heb, en nu werkt het script perfect zoals ik wil! Super bedankt beiden, want anders was ik hier nog een dikke week mee bezig geweest, en had het veel stress opgelevert Reageren
Recommended Posts
Een reactie plaatsen
Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.