Разделение адресной строки на отдельные переменные - Coldfusion

Aug 18 2020

Я боролся с разделением адресного поля в моей базе данных на отдельные компоненты.

Я беру адресные данные из своей базы данных, которые хранятся в столбце # company_address #. Когда я вывожу данные, они выглядят так:

Address1 Address2 (присутствует не всегда) Город, штат Почтовый индекс (иногда есть запятая, иногда нет)

Я хотел бы разбить строку в # company_address # и назначить каждую часть адреса своей собственной переменной: variable1 - address1 variable2 - address2 variable3 - city variable4 - state variable5 - zip

Как только у меня будут эти данные, я введу их обратно в базу данных в отдельной форме.

Я пробовал использовать функцию listtoarray, но она назначает всю строку одному элементу массива и, кажется, полностью пропускает строку address2.

Вот код, который я использую:

<!--- 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>

Кто-нибудь может помочь ??

Ответы

3 rrk Aug 17 2020 at 22:49

Проблема в том, что вы используете chr(13)как строку. Используйте следующее.

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