19. juni 2008 - 13:16
Der er
18 kommentarer
php til xml
Hej, Jeg søger et php script som kan lave følgende xml udfra php, da jeg har en mysql db og gerne vil have xml'en dynamisk opdateret ifh. til db'en... Håber nogle kan hjælpe da jeg ikke er så stærk i php/ xml Mvh Martin ---- <?xml version="1.0"?> <content> <gallery Name="All Images"> <image Large="image1.jpg" Caption="Reflective Spiral" Colour="3c0000"> <copy><![CDATA[<p>This is a text ></copy> </image> </gallery> </content> -----
Annonceindlæg tema
Du bør vel bare generere det direkte med PHP så? Altså echo'e det og indskrive de rigtige data de rigtige steder..
I øvrigt er der vist lidt galt her: <copy><![CDATA[<p>This is a text ></copy>
tjooo har denne her, men den spiller ikke lige så jeg sætter pris på hjælp..... <?php header ("content-type: text/xml"); print "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n"; require_once('connections/config.php'); $urlid = $HTTP_GET_VARS["urlid"]; $query = "SELECT * FROM photo ORDER BY Timestamp desc"; //$query = "SELECT * FROM photo ORDER BY Timestamp desc"; $result = mysql_query($query); print "<content>"; print "<gallery>\n"; while($image = mysql_fetch_object($result)) { print "<pic>\n"; print "<image>".$image->photo."</image>\n"; print "<gruppe>".$image->Gruppe."</gruppe >\n"; print "<overskrift>".$image->Overskrift."</overskrift >\n"; print "</pic>\n"; } print "</gallery>\n"; print "</content>"; ?>
altså jeg ved ikke hvordan jeg får indsat flere værdier indenfor samme felt.... hvis du forstår.....
Flere værdier indenfor samme felt? Jeg er ikke helt med.
Hvordan jeg echo'er / printer <image Large="image1.jpg" Caption="Reflective Spiral" Colour="3c0000"> da de kommer fra forskellige tabeller i DB'en... print "<image>".$image->photo."</image>\n"; viker fint, men jeg skulle gerne have de andre felter ind i samme sætning, hvis du forstå.
Så må du jo indsætte en ekstra mysql_query. Jeg tror, det bliver noget i retning af: <?php header ("content-type: text/xml"); print "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n"; require_once('connections/config.php'); $urlid = $HTTP_GET_VARS["urlid"]; $query = "SELECT * FROM photo ORDER BY Timestamp desc"; $result = mysql_query($query); print "<content>"; print "<gallery>\n"; while($image = mysql_fetch_object($result)) { print "<pic>\n"; $query2 = "SELECT * FROM andentabel WHERE id = ".$image->id; $result2 = mysql_query($query2); print "<image caption=\"".$result->caption."\">".$image->photo."</image>\n"; print "<gruppe>".$image->Gruppe."</gruppe >\n"; print "<overskrift>".$image->Overskrift."</overskrift >\n"; print "</pic>\n"; } print "</gallery>\n"; print "</content>"; ?> Men jeg ved jo ingenting om din database og felterne deri, så yderligere kan jeg ikke specificiere det.
Takker, men ja er desværre ikke så stærk i php, men hvis jeg bare for skrevet nedenstående xml vedhælp af php så ændre jeg bare databasen - det er kun en tabel men med mange felter (colonner) <?xml version="1.0"?> <content> <gallery Name="All Images"> <image Large="Gallery3/image4.jpg" Caption="Skyscrapers" Colour="0e1b20"> <copy>This is text </copy> </image> Håber du kan hjælpe mig. </gallery> </content>
19. juni 2008 - 14:50
#10
Så skal jeg vide, hvilke data der ligger i hvilke tabeller og hvad kolonnerne hedder. Kan du ikke skrive det sådan her f.eks.: <?xml version="1.0"?> <content> <gallery Name="All Images"> <image Large="table2/large" Caption="table2/caption" Colour="table2/color"> <copy>table1/text</copy> </image> </gallery> </content>
19. juni 2008 - 15:00
#11
jo ud over at der kun er tale om en tabel så ser det rigtigt ud.
19. juni 2008 - 15:09
#12
Du skrev da ellers "da de kommer fra forskellige tabeller i DB'en", det er derfor, jeg er lidt forvirret.
19. juni 2008 - 15:11
#13
Hvis de kommer fra samme tabel, er det jo bare: <?php header ("content-type: text/xml"); print "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n"; require_once('connections/config.php'); $urlid = $HTTP_GET_VARS["urlid"]; $query = "SELECT * FROM photo ORDER BY Timestamp desc"; $result = mysql_query($query); print "<content>"; print "<gallery Name=\"All Images\">\n"; while($image = mysql_fetch_object($result)) { print "<image Large=\"".$image->large."\" Caption=\"".$image->caption."\" Colour=\"".$image->colour."\">".$image->photo."</image>\n"; print "<copy>".$image->text."</gruppe >\n"; } print "</gallery>\n"; print "</content>"; ?>
19. juni 2008 - 15:26
#14
ja næsten - det skal bare være sådan her: <image Large="Gallery1/image1.jpg" Caption="Reflective Spiral" Colour="3c0000"> Altså uden </image> tilsidst (\">".$image->photo."</image>\n"; ) Kan bare ikke finde ud af hvor det skal slettes fra og til..... ??? På forhånd mange tak ;)
19. juni 2008 - 15:27
#15
Ah ja, ok: <?php header ("content-type: text/xml"); print "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n"; require_once('connections/config.php'); $urlid = $HTTP_GET_VARS["urlid"]; $query = "SELECT * FROM photo ORDER BY Timestamp desc"; $result = mysql_query($query); print "<content>"; print "<gallery Name=\"All Images\">\n"; while($image = mysql_fetch_object($result)) { print "<image Large=\"".$image->large."\" Caption=\"".$image->caption."\" Colour=\"".$image->colour."\">\n"; print "<copy>".$image->text."</gruppe >\n"; print "</image>\n"; } print "</gallery>\n"; print "</content>"; ?>
19. juni 2008 - 15:35
#16
ja men uden "/" til sidst - kan desværre ikke hitte ud af alle de anførselstegn eller hvordan det er bygget op??? På forhånd tak ;) igen!
19. juni 2008 - 16:00
#17
jeg forstå det simpelthen ikke ..... mangler kun at fjerne "/"
19. juni 2008 - 17:23
#18
Hvilket "/"? I øvrigt skal: print "<copy>".$image->text."</gruppe >\n"; være: print "<copy>".$image->text."</copy>\n";
Vi tilbyder markedets bedste kurser inden for webudvikling