Forum - Beitrag anzeigen

CF-Advanced - Re: Mehrere Listen (alle gleich lang) in ein 2 Dimensionales Array?

Icon Pfeil Startseite Icon Pfeil Kategorie Icon Pfeil Suche

Icon Forum Beitrag vom 30.12.2010 08:59 (715 Aufrufe)
Name: cfsandy
Titel: Re: Mehrere Listen (alle gleich lang) in ein 2 Dimensionales Array?
Inhalt: Wie schon vorher gesagt, ich kenne die genauen Voraussetzungen nicht und kann nur mutmaßen. Ausgehend von dem was ich vermute habe ich ein Beispiel zusammengestellt. Für die Simulation habe ich ein Array mit den Listen angelegt, das kannst Du durch die Zeilen aus dem delimited File ersetzen, bzw. wenn es für Dich bequemer ist, die Zeilen in solch ein Array einlesen. Ist insgesamt möglicherweise ein bissl "hackish", sollte aber funktionieren.


<cfset delim = ";">
<!--- Array nur fuer Testzwecke um eingelesene Zeilen zu simulieren --->
<cfset alleAdressen = arrayNew(1)>
<cfset alleAdressen[1] = "Gundel;Gaukele;9999;Entenhausen;33">
<cfset alleAdressen[2] = "Egon;Erpel;2424;Gotham City;15">
<cfset alleAdressen[3] = "Dagobert;Duck;1313;Geldspeicher;25">
<cfset alleAdressen[4] = "Donald;Duck;1414;Bei Daisy;22">

<!--- Query Daten fuer unbekannte Listenlaenge vorbereiten --->
<cfset tempQueryColumnList = "">
<cfset tempQueryColumnTypeList = "">
<cfset tempQueryColumnPrefix = "spalte">

<!--- alle Spalten nummerieren und in einer Liste speichern --->
<cfloop from="1" to="#listLen(alleAdressen[1],delim)#" index="j">
<cfset spaltenName = tempQueryColumnPrefix & j>
<cfset tempQueryColumnList = listAppend(tempQueryColumnList, spaltenName)>
<cfset tempQueryColumnTypeList = listAppend(tempQueryColumnTypeList, "varchar")>
</cfloop>

<!--- Query erstellen --->
<cfset tempQuery = queryNew(tempQueryColumnList,tempQueryColumnTypeList)>

<cfloop from="1" to="#arrayLen(alleAdressen)#" index="zeilenZaehler">
<!--- eine neue Zeile hinzufuegen --->
<cfset queryAddRow(tempQuery)>
<!--- Zeile verarbeiten, Werte in den Spalten speichern --->
<cfloop from="1" to="#listLen(alleAdressen[zeilenZaehler],delim)#" index="spaltenZaehler">
<cfset currentField = tempQueryColumnPrefix & spaltenZaehler>
<cfset querySetCell(tempQuery,currentField,listGetAt(alleAdressen[zeilenZaehler],spaltenZaehler,delim))>
</cfloop>

</cfloop>
<cfdump var="#tempQuery#">


Andreas Schuldhaus
ATGInfotech
http://www.atginfotech.com
Twitter: @cfexpert



Bitte melden Sie sich kostenlos an, um eine Antwort auf diesen Beitrag zu erstellen.


Das deutsche ColdFusion-Forum cfml.de ist das Portal für Einsteiger und Experten zum Thema ColdFusion und der ColdFusion Markup Language (CFML).

© 2017 Webdesign & Hosting: CHC ONLINE Kassel | SOLVA Content-Management-System CMS
Urlaub-Angebote.de - Urlaub mit Bestpreis-Garantie buchen