2011-06-17 48 views
0

在我的表單中:我有8個複選框將以字符串/ varchar(不是int)形式保存到MySQL。將數據分成3個字段

例:

  • 複選框1 =蘋果
  • 複選框2 =橙
  • 複選框3 =芒果
  • 複選框4 =葡萄
  • 複選框5 =西瓜
  • 複選框6 =甜瓜
  • 複選框7 =菠蘿
  • 複選框8 = Cherry

現在,我想輸出到3個不同的字段,每個字段的字符數有限。

  • 字段1 =具有25個字符
  • 字段2 =爲30個字符
  • 字段3 =有限制有無限的字符

如果所有的複選框是檢查和保存一個極限進入MySQL,輸出將是:

  • FIELD 1:Apple, Orange, Mango(該字段只能容納25個字符,所以我必須把下一個變量數據寫入FIELD 2)。
  • FIELD 2:Grape, Watermelon(該字段只能容納25個字符,因此我必須將下一個變量數據放入FIELD 3中)。
  • 場3:Melon, Pineapple, and Cherry

我做了一些STRLEN研究,爆炸等,不知何故,我不能在PHP把這個在一起。 我該怎麼辦?

+0

到目前爲止你放在了一起的是什麼?也許有人可以簡單地指出一個或兩個導致它失敗的錯誤。 – Wiseguy 2011-06-17 04:31:28

+0

你爲什麼要設計這樣的領域?看起來肯定會比幸福造成更多的悲傷。除非是作業問題;它具有虐待老師設計的任務的所有無意義特徵(更不用說不完整的說明)。除此之外,最後兩項之間是否需要「和」(假設至少有兩項)?如果數據適合,前兩個字段的末尾是否需要逗號?需要分隔值的空間,還是將三個字段稍後連接時添加? – 2011-06-17 04:44:38

+0

我只是使用了一個基於水果的例子,但是這3個字段來自一個PDF格式的表單,這些表單分爲3個不同的區域,有3個文本區域。但會填充爲從MySQL複選框通過PHP回答的字符串。我只需要將1個數據串分成3個變量,這個變量將被輸出到我的PDF中的3個不同的字段中。 – 2011-06-17 05:23:45

回答

2

也許wordwrap會做的伎倆?其中一種方法是(未經測試):

$string_list = explode("\n", wordwrap($string, 25)); 
$field1 = array_shift($string_list); 
$string = implode(" ",$string_list); 

$string_list = explode("\n", wordwrap($string, 30)); 
$field2 = array_shift($string_list); 

$field3 = implode("\n", $string_list); 
+0

我嘗試過,但沒有達到目標。下面是我的示例代碼:$ string =「Apple,Orange,Mango,Grape,Watermelon,Melon,Pineapple,Cherry; $ field1 = wordwrap($ string,25); $ field2 = wordwrap($ field1,25); $ field3 = wordwrap($ field2,100);這是我到目前爲止所嘗試的,但所有3個字段都顯示與1個長字符串相同的內容對不起,如果它們全部位於1段中,出於某種原因,我無法在此添加分隔線迷你評論箱 – 2011-06-17 04:45:41

+0

謝謝Brent Baisley!你是一個拯救生命的人。 – 2011-06-17 06:32:32