2011-01-11 46 views
0

我正在編寫Drupal/Ubercart和內部管理系統之間的集成部分。使用來自Ubercart表的MySQL提取Drupal編碼數據

客戶使用具有屬性的Ubercart產品(例如Plaque,可包含名稱,公司,註冊日期和月份)。下訂單時,爲屬性輸入的值將寫入uc_order_products,其中data字段包含用戶輸入的實際值。據我所知,這是唯一存儲由最終用戶輸入的下訂單的產品屬性值的地方。

編碼的屬性值,使用見過各地的Drupal表編碼對象的格式:

a:3:{s:10:"attributes";a:4:{s:26:"Name (to appear on plaque)";a:1:{i:0;s:10:"Some 
Namee";}s:7:"Company";a:1:{i:0;s:28:"Some Company Name Goes here_";}s:19:"Certification 
Month";a:1:{i:0;s:0:"";}s:18:"Certification Year";a:1: 
{i:0;s:4:"2011";}}s:9:"shippable";s:1:"1";s:6:"module";s:10:"uc_product";} 

和擴大,它看起來像這樣:

a:3: 
{ 
    s:10:"attributes"; 
    a:4: 
     { 
      s:26:"Name (to appear on plaque)"; 
      a:1: 
       { 
        i:0; 
        s:10:"Some Namee"; 
       } 
      s:7:"Company"; 
      a:1: 
       { 
        i:0; 
        s:28:"Some Company Name Goes Herep"; 
       } 
      s:19:"Certification Month"; 
      a:1: 
       { 
        i:0; 
        s:0:""; 
       } 
      s:18:"Certification Year"; 
      a:1: 
       { 
        i:0; 
        s:4:"2011"; 
       } 
     } 
    s:9:"shippable"; 
    s:1:"1"; 
    s:6:"module"; 
    s:10:"uc_product"; 
} 

我有一個簡單的方法去本文中使用SQL的單個字段值?我可以編寫一個SQL函數來查找具體信息,但是我想知道是否有人知道現有的MySQL方法(可能在Drupal中)會這樣做。

謝謝!

回答

0

不知道是否存在任何內置解決方案,但我最終編寫了一個SQL函數,該函數的參數文本如Name (to appear on plaque)。該函數然後定位文本並提取後續的{ ... }塊,並從中檢索相應的字符串值。粗糙,但在這種情況下工作。

如果有人有更好的解決方案,我想聽聽它!

相關問題