【问题标题】:PHP process multiple form fields to checkbox fieldPHP将多个表单字段处理为复选框字段
【发布时间】:2014-05-07 04:25:12
【问题描述】:

我正在尝试使用 API 参考“custom11746175”将数据处理到字段。但是,这个字段有复选框,我想在必要时处理多个值。现在,我只有这个,它只会处理 一个 值“Off-g”、“On-g”、“On-h”或“On-i”(最后定义的一):

if (($_POST['custom13346240'] == 'Off-g')) {
$contactData['custom11746175'] = "Off-g";
}
if (($_POST['custom13346240'] != 'Off-g')) {
$contactData['custom11746175'] = "On-g";
}
if ($_POST['custom13500281']) {
$contactData['custom11746175'] = "On-h";
}           
if ($_POST['custom11746175'] == 'Yes') {
$contactData['custom11746175'] = "On-i";
}

如果我想处理所有定义的值(数量可能不同)并在复选框中标记它们,我需要更改什么?我应该构造一个数组,以获得多维字段之类的东西吗?

【问题讨论】:

  • 请告诉我们$_POST 中的内容以及您想从中获得什么。

标签: php arrays checkbox field


【解决方案1】:

是的,您需要一个数组,如果您在 $contactData['custom11746175'] 变量之后放置双括号 [],则会像这样将新项目添加到 $contactData['custom11746175'] 中的数组中...

if (($_POST['custom13346240'] == 'Off-g')) {
    $contactData['custom11746175'][] = "Off-g";
}
if (($_POST['custom13346240'] != 'Off-g')) {
    $contactData['custom11746175'][] = "On-g";
}
if ($_POST['custom13500281']) {
    $contactData['custom11746175'][] = "On-h";
}           
if ($_POST['custom11746175'] == 'Yes') {
    $contactData['custom11746175'][] = "On-i";
}

然后要获取数组中的第一个元素,您只需执行$contactData['custom11746175'][0]

【讨论】:

  • 感谢您的帮助。当我将此数组发送到我的 CRM (Solve360) 时,它只会在复选框中添加一个(选定的)选项“数组”,因此它不会抓取元素。知道如何让 CRM 获取元素,或者该问题应该交给 Solve360 本身吗?
  • 当您的意思是“将此数组发送到我的 CRM”时,您使用的是 Solve360 php 库还是什么?你能澄清一下@MrOrange吗?
  • 抱歉,缺少技术语言。我正在使用 PHP 脚本将数据发送到 Solve360,它对每个字段都有 API 引用。如果我向该字段发送一个值,Solve360 会正确处理它并将其标记为复选框列表中的选中状态。但是,数组在列表中显示为“数组”,而不是多个选中的复选框。如果它不够清楚,我理解并且我开始认为这是向 Solve360 询问的问题。但也许你还有一些想法?
  • 您是否有我可以查看的关于您在 Solve360 上使用的 API 文档链接?
  • 我正在使用link 和右侧的“联系人”部分。任何帮助将不胜感激!
【解决方案2】:

Solve360 的团队指出,这些字段允许多个复选框使用逗号分隔的值。所以我把上面的代码改成这样:

$items = "";

if (($_POST['custom13346240'] == 'Off-g')) {
    $items = $items . ',' . "Off-g";
}
if (($_POST['custom13346240'] != 'Off-g')) {
    $items = $items . ',' . "On-g";
}
if ($_POST['custom13500281']) {
    $items = $items . ',' . "On-h";
}            
if ($_POST['custom11746175'] == 'Yes') {
    $items = $items . ',' . "On-i";
}

$contactData['custom11746175'] = $items;

希望这对某人有所帮助。

【讨论】:

    猜你喜欢
    • 2020-12-18
    • 2012-11-27
    • 1970-01-01
    • 1970-01-01
    • 2014-02-26
    • 2014-07-11
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    相关资源
    最近更新 更多