php - 通过 Ajax 提交表单,将多个选择插入到数据库中以逗号分隔的一行中,但会崩溃并给出错误

标签 php jquery mysql ajax

我有一个 Ajax 表单,正在将数据提交到我的 MySQL 数据库中。

我有 select2 框,允许用户选择多个选项。

以下是一个盒子的 HTLM 代码示例:

<select class="select3 form-control select2-multiple track" name="sellingmethods" id ="sellingmethods" multiple="multiple" multiple data-placeholder="Choose ...">
    <option value="Telesales">Telesales</option>
    <option value="Party Planning">Party Planning</option>
    <option value="Door to Door">Door to Door</option>
    <option value="Face to Face">Face to Face</option>
    <option value="Online Demos">Online Demos</option>
    <option value="Affiliate Link">Affiliate Link</option>
    <option value="Appointment Setting">Appointment Setting</option>
</select>

当我单击“提交”时,它会传递如下数据:

Example Ajax Post Data

正如您所看到的,它多次发布相同的盒子 ID,例如在销售方法中看到的示例。

目前,我将其放入数据库的 PHP 代码仅将最后一项放入数据库。

有没有办法将多个选择用逗号分隔?例如“挨家挨户,电话销售”。

这是我当前的 PHP 代码:

'sellingmethods' => implode(',', $this->input->post('sellingmethods')),
'sellertype' => implode(',', $this->input->post('sellertype')),
'want2sell' => implode(',', $this->input->post('want2sell')),
'productssold' => implode(',', $this->input->post('productssold')),
'industriesrepresented' => implode(',', $this->input->post('industriesrepresented')),

当前给我的错误:

implode():传递的参数无效

最佳答案

要访问通过 select multiple 作为数组提交的多个选项,您需要将 name 属性设置为数组,例如 sellingmethods[]

例如:

<select class="select3 form-control select2-multiple track" name="sellingmethods[]" id ="sellingmethods" multiple="multiple" multiple data-placeholder="Choose ...">

 <option value="Telesales">Telesales</option>
 <option value="Party Planning">Party Planning</option>
 <option value="Door to Door">Door to Door</option>
 <option value="Face to Face">Face to Face</option>
 <option value="Online Demos">Online Demos</option>
 <option value="Affiliate Link">Affiliate Link</option>
 <option value="Appointment Setting">Appointment Setting</option>
</select>

然后 $this->input->post(' sellmethods')$_POST[' sellmethods'] 将如预期那样是一个数组,并且您不应该implode() 函数不再出现错误。

关于php - 通过 Ajax 提交表单,将多个选择插入到数据库中以逗号分隔的一行中,但会崩溃并给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48696541/

相关文章:

javascript - Kendo UI 货币格式

python - django:模板如何查询两个数据表

mysql - 在 yii2 事件记录中的同一个表的两个列日期之间搜索

Ruby on Rails 中的 MySQL 性能

javascript - GreaseMonkey 中的 jQuery data() 函数

javascript - Highcharts 饼图和柱形的默认颜色不一样?

php - 在 Swift 4 中实现 php serialize()

php - 使用 PHP DOMDocument 将某些元素替换为自定义内容

php - 添加不受 Sonata Admin Bundle 管理的实体

php - usort() 排序算法如何工作?