2011-06-17 41 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