简体   繁体   English

一个字符串中的 POST 数组,以逗号分隔 PHP

[英]An array of POST in one string separated by a comma PHP

I made a form from the checkbox, I want all checked checkboxes to be displayed (ultimately saved to MySQL) as one variable.我从复选框中创建了一个表单,我希望所有选中的复选框都作为一个变量显示(最终保存到 MySQL)。

Code to display checkboxes in forms (it's working fine):在表单中显示复选框的代码(工作正常):

...
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "<div class='form-check'>";
        echo "<label class='form-check-label'>";
        echo "<input class='form-check-input' name='prog[]' type='checkbox' value='".$row['name']."'>";
        echo "<span class='checkbox-icon'></span>";
        echo "<span class='form-check-description'>".$row['name']."</span>";
        echo "</label>";
        echo "</div>";
    }
}
...

and here I 'm display array from a checkbox in input:在这里我从输入的复选框中显示数组:

...
$N = count($_POST['prog']);
for($i=0; $i < $N; $i++){
    echo "<div class='input-group input-group-sm mb-3'>
          <input name='programnames[]' value='".$_POST['prog'][$i]."' class='form-control' aria-label='Small' aria-describedby='inputGroup-sizing-sm' readonly>
          </div>";
}
...

The problem is that I see the values ​​in separate inputs box.问题是我在单独的输入框中看到了值。 Ultimately, I want to achieve one string (variable).最终,我想实现一个字符串(变量)。 The values ​​to be separated by a comma, like this for example: (TextBox1.Val), (TextBox2.Val) etc用逗号分隔的值,例如: (TextBox1.Val), (TextBox2.Val)

So if I select Tomato and Cucumber I want to have in the variable: Tomato, Cucumber所以如果我选择TomatoCucumber我想在变量中加入: Tomato, Cucumber

prog should be an array or null , so you should just be able to implode it: prog应该是一个arraynull ,所以你应该能够内它:

// Make sure we have an array, even if the data wasn't sent
$progChoices = $_POST['prog'] ?? [];
$joinedChoices = implode(',', $progChoices);

You can then echo your HTML as you are already:然后,您可以按原样echo您的 HTML:

echo "<div class='input-group input-group-sm mb-3'>
      <input name='programnames' value='".$joinedChoices."' class='form-control' aria-label='Small' aria-describedby='inputGroup-sizing-sm' readonly>
      </div>";

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM