2016-10-16 11 views
-2

Ich habe folgende Daten in einer Zelle, in einer MySQL-Datenbank:Wie Daten in einer MySQL-Zelle filtern

mc_gross = 213.94 invoice = 8 protection_eligibility = Eligible address_status = confirmed item_number1 = 1379444095 payer_id = UIHUI43SOMEID tax = 0.00 address_street = some address payment_date = 11:57:10 Sep 17, 2013 PDT payment_status = Completed charset = windows-1252 address_zip = 77777 mc_shipping = 0.00 mc_handling = 0.00 first_name = John mc_fee = 5.01 address_country_code = US address_name = John Doe notify_version = 3.7 custom = 8 payer_status = verified business = [email protected] address_country = United States num_cart_items = 1 mc_handling1 = 0.00 address_city = some city verify_sign = [email protected]*key payer_email = [email protected] mc_shipping1 = 0.00 tax1 = 0.00 txn_id = 1RFSOMEID3S payment_type = instant last_name = Doe address_state = AZ item_name1 = Order Number: 1379444095 receiver_email = [email protected] payment_fee = 5.01 quantity1 = 1 receiver_id = GAGESOMEID tx ... 

Wie würde ich mich über die Informationsfilterung und nur die Daten nach dem Gleichheitszeichen Extrahieren ?

+2

Wirklich nicht klar, was Sie fragen ... – Dekel

+0

@Dekel Sobald ich die Abfrage ausführen, um die Daten auszuwählen, wie würde ich PHP verwenden, um nur die Daten nach dem Gleichheitszeichen auszuwählen? –

+0

Veröffentlichen Sie den Code, wie Sie genau diese Informationen erhalten. –

Antwort

1

Ich glaube, Sie regulären Ausdruck es in Schlüssel, Wert-Paare zu teilen verwenden könnte, wie folgt aus:

preg_match_all('/[a-zA-Z_]+\s+=+\s+[^\s]+/', $a, $matches); 

So basiert auf den $ treffer bereitgestellt String enthalten würde:

Array 
(
    [0] => Array 
     (
      [0] => mc_gross = 213.94 
      [1] => invoice = 8 
      [2] => protection_eligibility = Eligible 
      [3] => address_status = confirmed 
      [4] => payer_id = UIHUI43SOMEID 
      [5] => tax = 0.00 
      [6] => address_street = some 
      [7] => payment_date = 11:57:10 
      [8] => payment_status = Completed 
      [9] => charset = windows-1252 
      [10] => address_zip = 77777 
      [11] => mc_shipping = 0.00 
      [12] => mc_handling = 0.00 
      [13] => first_name = John 
      [14] => mc_fee = 5.01 
      [15] => address_country_code = US 
      [16] => address_name = John 
      [17] => notify_version = 3.7 
      [18] => custom = 8 
      [19] => payer_status = verified 
      [20] => business = [email protected] 
      [21] => address_country = United 
      [22] => num_cart_items = 1 
      [23] => address_city = some 
      [24] => verify_sign = [email protected]*key 
      [25] => payer_email = [email protected] 
      [26] => txn_id = 1RFSOMEID3S 
      [27] => payment_type = instant 
      [28] => last_name = Doe 
      [29] => address_state = AZ 
      [30] => receiver_email = [email protected] 
      [31] => payment_fee = 5.01 
      [32] => receiver_id = GAGESOMEID 
     ) 
) 
1

Nach Daten aus der Datenbank abrufen, können Sie es tun regulären Ausdruck wie diese preg_mathchpreg_match_all('/\s[^=]+="[^"]+"/', $string, $matches);

1

Es gibt mehrere Gleichheitszeichen sind. Sie können reguläre Ausdrücke verwenden, die übereinstimmen, um einige oder alle Teile nach/zwischen den Gleichheitszeichen zu sammeln.