XML mit SQl erstellen, "mehrdimensional"

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • XML mit SQl erstellen, "mehrdimensional"

    Hallo,

    ich habe folgenden Code:

    Code:
    <esql:execute-query>
    	<esql:query>SELECT B.land_name, A.ziel_id, A.ziel_name FROM re_reiseziele AS A JOIN re_laender AS B ON (A.land_id=B.land_id) ORDER BY land_name, ziel_name</esql:query>
    	<esql:results>
    		<esql:row-results>
    			<reiseziel>
    				<id><esql:get-int column="ziel_id"/></id>
    				<name><esql:get-string column="ziel_name"/></name>
    				<land><esql:get-string column="land_name"/></land>
    			</reiseziel>
    		</esql:row-results>
    	</esql:results>
    </esql:execute-query>
    Ich denke mal es dürfte klar sein, was da passiert. Letztendlich kommt sowas bei raus:

    Code:
    <reiseziel>
    	<id>1</id>
    	<name>Berlin</name>
    	<land>Deutschland</land>
    </reiseziel>
    <reiseziel>
    	<id>2</id>
    	<name>Hamburg</name>
    	<land>Deutschland</land>
    </reiseziel>
    <reiseziel>
    	<id>3</id>
    	<name>Paris</name>
    	<land>Frankreich</land>
    </reiseziel>
    <reiseziel>
    	<id>4</id>
    	<name>Barcelona</name>
    	<land>Spanien</land>
    </reiseziel>
    Allerdings würde ich jetzt gerne folgendes bekommen:

    Code:
    <land>
    	<name>Deutschland</name>
    	<reiseziel>
    		<id>1</id>
    		<name>Berlin</name>
    	</reiseziel>
    	<reiseziel>
    		<id>2</id>
    		<name>Hamburg</name>
    	</reiseziel>
    </land>
    <land>
    	<name>Frankreich</name>
    	<reiseziel>
    		<id>3</id>
    		<name>Paris</name>
    	</reiseziel>
    </land>
    <land>
    	<name>Spanien</name>
    	<reiseziel>
    		<id>4</id>
    		<name>Barcelona</name>
    	</reiseziel>
    </land>
    Muss ich im <esql:row-results> immer abfragen ob "letztes Land" == "aktuelles Land" und wenn nicht, dann den <land>-tag schließen und einen neuen <land>-Tag öffnen, ansonsten einfach das Ziel hinzufügen.
    Oder geht das auch "einfacher" ?
    Ich meine so etwas in der Art, wie man bei einem Array machen würde, z.B.: $ziele[$land_name][$ziel_id] = $ziel_name in jedem Schleifendurchlauf.

    Gruß,
    Jan
    Zuletzt geändert von razer2k; 26.12.2004, 19:04.
Lädt...
X