HTML / PHP - ввод данных в виде массива, необходимо разделить запятыми значения - PullRequest
0 голосов
/ 07 июня 2018

Я получил такую ​​форму:

<input name="form[AttendeesInstitution][]" type="text">
<input name="form[AttendeesInstitution][]" type="text">

При использовании инструментов разработчика Firefox из своего $ _POST я вижу, что у меня есть рабочий массив значений.Моя проблема заключается в том, что он представлен в базе данных, как "Flexsus Brugsen".Мне нужно, чтобы это были значения, разделенные запятыми, например: «Flexsus, Brugsen».Я пытаюсь построить это в ограниченном компоненте Joomla, поэтому я могу сделать несколько jQuery непосредственно перед _POST или немного PHP на _POST.Но я не могу найти решение: - (

enter image description here

enter image description here

РЕДАКТИРОВАТЬ: УдаленоHTML идентификаторы

Ответы [ 4 ]

0 голосов
/ 08 июня 2018

в вашем контроллере Joomla вы должны получить такие данные:

$formData = $this->input->post->get('form', array(), 'array');
$attendeesInstitution = implode(',', $formData['AttendeesInstitution']);
0 голосов
/ 07 июня 2018

Вы можете использовать функцию php implode ()

<?php
...
implode(",",$_POST["form"]["AttendeesInstitution"]);
...
?>
0 голосов
/ 07 июня 2018

Я думаю, что вы предполагаете, что $_POST устанавливается как

$_POST["form"]["AttendeesInstitution"][]

На самом деле я мог бы предположить, что он установлен как (Мне нужно было бы увидеть вывод print_r($_POST), чтобы быть уверенным).

$_POST["form[AttendeesInstitution]"][]

Таким образом, для доступа к нему необходимо добавить Undefined index

У вас есть два варианта исправить это

Цикл массива, как у васэто, но, вероятно, не то, что вы хотите:

foreach($_POST["form[AttendeesInstitution]"] as $k=>$v){
    //Stuff you do here
}

или обновите ввод данных, чтобы сделать данные так, как вы хотите, потому что $_POST уже является массивом.

<input name="[form][AttendeesInstitution][]" type="text">
<input name="[form][AttendeesInstitution][]" type="text">

Я не могу100% проверить это тоже.

0 голосов
/ 07 июня 2018

Пожалуйста, установите разные идентификаторы для каждого элемента, и после этого вы сможете использовать этот код.

Вот как вы можете это сделать

<?php
     $post = array(); 
     foreach($_POST as $key=>$value){
         $post[$key]= $post[$key].', '.$value;
     }
     /* Now $post will look as what you want*/
 ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...