Fractionner une chaîne d'adresse en variables distinctes - Coldfusion

Aug 18 2020

J'ai eu du mal à diviser un champ d'adresse dans ma base de données en ses composants distincts.

J'extrait les données d'adresse de ma base de données qui sont stockées dans la colonne #company_address# . Les données ressemblent à ceci lorsque je les affiche:

Adresse1 Adresse2 (Pas toujours présente) Ville, État Code postal (Parfois il y a une virgule, parfois il n'y en a pas)

Je voudrais décomposer la chaîne dans #company_address# et attribuer chaque partie de l'adresse à sa propre variable : variable1 - address1 variable2 - address2 variable3 - city variable4 - state variable5 - zip

Une fois que j'ai ces données, je vais les saisir dans la base de données sous sa forme séparée.

J'ai essayé d'utiliser la fonction listtoarray mais elle affecte toute la chaîne à un élément du tableau et semble ignorer complètement la ligne address2.

Voici le code que j'utilise :

<!--- Select ticket record --->
 <cfquery name="get_ticket" datasource="#datasource#">
   SELECT *
   FROM closed_tickets
   where ticket_id = #url.ticket_id#
 </cfquery>

<cfoutput>

<cfset list = "#get_ticket.company_address#">
<cfset arr = listToArray (list, 'ch(13)' ,false,true)>
<cfdump var="#arr#">

</cfoutput>

Quelqu'un peut-il aider ??

Réponses

3 rrk Aug 17 2020 at 22:49

Le problème est que vous utilisez chr(13)comme chaîne. Utilisez le suivant.

<cfset arr = listToArray (list, chr(13) , false, true)>