Avatar billede nicocarlos Nybegynder
31. oktober 2006 - 19:20 Der er 6 kommentarer og
1 løsning

php hvordan fra mysql til xml

Hejsa. Jeg er ved at lave et katalog. Alle informationer ligger i en mysql database, som jeg henter ind i php, derefter opretter jeg xml filen.

Men mine varer ligger i forskellige kategorier, hvordan kan det laves fra mysql.

<kategorinavn1>nr1</kategorinavn1>
    <vare1ikategori1>vare1<.......

og så når alle er hentet i kategori 1 skal den gå til kategori 2 osv.

På forhånd tak
Avatar billede zynzz Praktikant
31. oktober 2006 - 19:31 #1
$sql = mysql_query("SELECT * FROM vare ORDER BY kategori DESC");
while($data = mysql_fetch_array($sql)) {
echo "<kategori>" . $data[kategori] . "</kategori>";
echo "<vare>" . $data[varenavn] . "</vare>"
}
Avatar billede zynzz Praktikant
31. oktober 2006 - 19:31 #2
; mangler lige :)
Avatar billede coderdk Praktikant
31. oktober 2006 - 22:31 #3
Noget i stil med dette, som du kan tilpasse:

$sql = "SELECT v.vareid, v.varenavn, k.kategorinavn FROM varetabel v INNER JOIN kategoritabel k ON v.kategoriid = k.kategoriid ORDER BY k.kategorinavn, v.varenavn";
$qh = mysql_query( $sql ) or die( mysql_error() );
$old = "";
echo "<vareliste>";
while ( $row = mysql_fetch_assoc( $qh ) )
{
  if ( $row['kategorinavn'] != $old )
  {
      if ( $old != "" )
      {
        echo "</" . $old . ">";
      }
      echo "<" . $row['kategorinavn'] . ">";
      $old = $row['kategorinavn'];
  }
  echo "<vare id=\"" . $row['vareid'] . "\">" . $row['varenavn'] . "</vare>";
}
echo "</" . $old . "></vareliste>";
Avatar billede nicocarlos Nybegynder
01. november 2006 - 00:12 #4
hmm fik vist beskrevet det lidt forkert:

<kategorinavn1>
    <vare1ikategori1>vare1<.......
    <vare2ikategori1>......
</kategorinavn1>

Sådan skal det være
Avatar billede coderdk Praktikant
01. november 2006 - 08:23 #5
Det er jo ikke svært at tilpasse min :P

echo "<vareliste>";
while ( $row = mysql_fetch_assoc( $qh ) )
{
  if ( $row['kategorinavn'] != $old )
  {
      if ( $old != "" )
      {
        echo "</" . $old . ">";
      }
      echo "<" . $row['kategorinavn'] . ">";
      $old = $row['kategorinavn'];
  }
  echo "<" . $row['varenavn'] . ">" . $row['varenavn'] . "</v" . $row['varenavn'] . ">";
}
echo "</" . $old . "></vareliste>";

<vareliste> udenom er for at gøre den "well-formed".
Avatar billede nicocarlos Nybegynder
20. november 2006 - 20:23 #6
tak smid et svar
Avatar billede coderdk Praktikant
20. november 2006 - 20:24 #7
(c:
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB