got tricked here..need help to this wierd problem

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
smilesmita
Forum Commoner
Posts: 30
Joined: Thu May 24, 2007 1:52 pm

got tricked here..need help to this wierd problem

Post by smilesmita »

i had huge xml string...got it parsed and converted into an flat array which looks like this:

$data2=array(

[a_0]=>'test'
[b_1]=>'test1'
[c_2]=>'test3'
[a_1]=>'test4'
[c_4]=>'test5'

)

did preg_replace on $data2 as $k=>$v
and now got it to be like this

$data3=array(

[a]=>'test'
=>'test1'
[c]=>'test3'
[a]=>'test4'
[c]=>'test5'

)
here i got tricked...because now when i give my insert statement it looks like this:
insert into table (a,b,c,a,c) Values('test,'test1','test3','test4','test5');

becaues you cannot specify a columname more than once in the sql query...
any idea how i could resolve this?may be if i could rename the second occurence of same name..that would solve it...
User avatar
volka
DevNet Evangelist
Posts: 8391
Joined: Tue May 07, 2002 9:48 am
Location: Berlin, ger

Post by volka »

Why do you need to get rid of the _n part of the column name?
smilesmita
Forum Commoner
Posts: 30
Joined: Thu May 24, 2007 1:52 pm

Post by smilesmita »

volka wrote:Why do you need to get rid of the _n part of the column name?
because the xml is sooo complex and has repetetive tags and is deep[like array in a array in array..]...that when i convert into flat array ..i get an long array and i will have to create that many new columsn in my table.
this is the flat array :
Array
(
[#document_0] =>
[#document_1_QuantumViewResponse_0_Response_0_TransactionReference_0_CustomerContext_0] => Test XML
[#document_1_QuantumViewResponse_0_Response_0_TransactionReference_1_XpciVersion_0] => 1.0007
[#document_1_QuantumViewResponse_0_Response_1_ResponseStatusCode_0] => 1
[#document_1_QuantumViewResponse_0_Response_2_ResponseStatusDescription_0] => Success
[#document_1_QuantumViewResponse_1_QuantumViewEvents_0_SubscriberID_0] => smita_b
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_0_Name_0] => Alternate Billing
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_1_Number_0] => 82C0E7922B3BA32B
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_2_SubscriptionStatus_0_Code_0] => A
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_2_SubscriptionStatus_1_Description_0] => Active
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_0_FileName_0] => 070801_151740001
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_1_StatusType_0_Code_0] => U
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_1_StatusType_1_Description_0] => Unread
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_2_Delivery_0_PackageReferenceNumber_0_Code_0] => IK
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_2_Delivery_0_PackageReferenceNumber_1_Value_0] => 66759
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_2_Delivery_1_ShipmentReferenceNumber_0_Code_0] => IK
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_2_Delivery_1_ShipmentReferenceNumber_1_Value_0] => 66759
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_2_Delivery_2_ShipperNumber_0] => 053678
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_2_Delivery_3_TrackingNumber_0] => 1Z0536780351733889
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_2_Delivery_4_Date_0] => 20070801
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_2_Delivery_5_Time_0] => 125800
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_2_Delivery_6_ActivityLocation_0_AddressArtifactFormat_0_PoliticalDivision2_0] => SEARCY
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_2_Delivery_6_ActivityLocation_0_AddressArtifactFormat_1_PoliticalDivision1_0] => AR
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_2_Delivery_6_ActivityLocation_0_AddressArtifactFormat_2_CountryCode_0] => US
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_2_Delivery_7_DeliveryLocation_1_Description_0] => RECEIVER
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_2_Delivery_7_DeliveryLocation_2_SignedForByName_0] => GREEN
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_2_Delivery_8_BillToAccount_0_Option_0] => 04
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_2_Delivery_8_BillToAccount_1_Number_0] => W0783X
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_3_Delivery_0_PackageReferenceNumber_0_Value_0] => PO# 4502213303 2713-01 QTY 2
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_3_Delivery_1_PackageReferenceNumber_0_Value_0] => SO# 07001097
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_3_Delivery_2_ShipmentReferenceNumber_0_Value_0] => PO# 4502213303 2713-01 QTY 2
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_3_Delivery_3_ShipmentReferenceNumber_0_Value_0] => SO# 07001097
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_3_Delivery_4_ShipperNumber_0] => 719350
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_3_Delivery_5_TrackingNumber_0] => 1Z7193500356034062
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_3_Delivery_6_Date_0] => 20070801
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_3_Delivery_7_Time_0] => 125100
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_3_Delivery_8_ActivityLocation_0_AddressArtifactFormat_0_PoliticalDivision2_0] => HOUSTON
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_3_Delivery_8_ActivityLocation_0_AddressArtifactFormat_1_PoliticalDivision1_0] => TX
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_3_Delivery_8_ActivityLocation_0_AddressArtifactFormat_2_CountryCode_0] => US
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_3_Delivery_9_DeliveryLocation_1_Description_0] => RECEIVER
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_3_Delivery_9_DeliveryLocation_2_SignedForByName_0] => JEFFERSON
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_3_Delivery_10_BillToAccount_0_Option_0] => 04
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_3_Delivery_10_BillToAccount_1_Number_0] => W0783X
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_4_Manifest_0_Shipper_0_Name_0] => AOP
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_4_Manifest_0_Shipper_1_ShipperNumber_0] => 729109
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_4_Manifest_0_Shipper_2_Address_0_AddressLine1_0] => 2101 S BROADWAY
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_4_Manifest_0_Shipper_2_Address_1_AddressLine3_0] => SHIPPING
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_4_Manifest_0_Shipper_2_Address_2_City_0] => MOORE
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_4_Manifest_0_Shipper_2_Address_3_StateProvinceCode_0] => OK
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_4_Manifest_0_Shipper_2_Address_4_PostalCode_0] => 73160
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_4_Manifest_0_Shipper_2_Address_5_CountryCode_0] => US
[#document_1_QuantumViewResponse_1_QuantumViewEvents_1_SubscriptionEvents_3_SubscriptionFile_4_Manifest_1_ShipTo_0_AttentionName_0] => RECEIVING
..........[/list]
User avatar
volka
DevNet Evangelist
Posts: 8391
Joined: Tue May 07, 2002 9:48 am
Location: Berlin, ger

Post by volka »

If you have two array elements called a_1 and a_2 do you want to store them BOTH in the field a in your database?
smilesmita
Forum Commoner
Posts: 30
Joined: Thu May 24, 2007 1:52 pm

Post by smilesmita »

volka wrote:If you have two array elements called a_1 and a_2 do you want to store them BOTH in the field a in your database?
yes you are right. even if i can store both in field a then later i can seperate them while displaying in the web page by writing another fucntion.

..if u have any other good way to do it..please dol et me know.

thanks a bunch!

smita
Post Reply