2012-11-06 54 views
1

我有一個數據庫,裏面充滿了不同長度字符的型號,並且都是按句點分隔的。php將結果集邏輯組織到嵌套的JSON

Model number families: 
xxxx.xx.xxxx 
xxxx.xx.kjfd 
xxxx.kj.jkfdk 
yy.yy.a 
yy.yy.b 

等等。

我試圖將它們組織成JSON類似於當然正確的語法。 型號系列:

{ 
    "name": "xxxx", 
    "children": [ 
     { 
      "name": "xx", 
      "children": [ 
       { 
        "name": "xxxx" 
       }, 
       { 
        "name": "kjfd" 
       } 
      ] 
     }, 
     { 
      "name": "kj", 
      "children": [ 
       { 
        "name": "jkfdk" 
       } 
      ] 
     } 
    ] 

我已經做的模型數量使preg_split打破型號開始。進入它的組件。然後,我試圖比較前一段時間前的第一個字符和我的大腦凍結,我想,「必須有更好的方法來組織這些。」

將它們存儲在已分離的數據庫中會更好嗎?

感謝您的任何建議。

只有一個地方去,stackoverflow。

+0

這與答案無關,但請採納此建議:將來當你使用測試字符串時,避免做像sdsfgh這樣的東西,試試真實姓名(從你的例子來看),幫助你看清楚 –

+0

謝謝,這很有道理。我會確保下次做到這一點 – rd42

回答

1

將它們存儲在已經分開的數據庫中會更好嗎?

這取決於。如果您有可能只需要在某個地方使用json的部分,而在其他地方使用其他地方的部分,爲了避免向同一個json發出10個請求,最好將它們分別放入數據庫中。我個人最近遇到了這個問題,更多的數據是無關的,被分組在同一個json中,我必須在完全不同的事件中調用該json(保存:insert/update,load,郵件部分關於事件的json數據等)。

如果你想在一個地方需要所有的數據,那麼把所有的數據放在同一個json中。

你將不得不決定要走哪條路。這兩個都不是錯的,主要是因爲你會學習下一次你必須做類似的事情:)

+0

真棒的意見,謝謝!你描述了我害怕的一種場景。 – rd42

+0

接受整個json,解析它,然後更新一小部分信息,將其再次串聯並替換數據庫中的全部數據(當然,更新),這只是一個痛苦,僅僅因爲用戶做了一個keyup某處。這是錯誤的。 –

+0

我規範化了數據,所以每個數據都有自己的表格。仍然困惑,但:)堅持! – rd42