提问者:小点点

使用php从select2获取值(不使用jquery


我有一个注册系统,那里有几个字段。 其中一个注册字段是段,它们来自数据库:

public function comboSegmentos($key)
{
    $sqlMostrar = mysqli_query($this->conexao, "SELECT * FROM loja_segmentos;");
    if (mysqli_num_rows($sqlMostrar) == 0) 
    {
        $mostrar = "<div style='color: red'>Nenhuma segmento cadastrado até o momento.</div>";
    } 
        else 
    {
        $mostrar = "<select name='Segments[]' id='segmentos' class='form-control select2' multiple='multiple' style='width: 35%'>";
        while ($jmMostrar = mysqli_fetch_object($sqlMostrar)) 
        {
                $mostrar .= "<option value='".$jmMostrar->Segmentos."' ".$selected.">".$jmMostrar->Segmentos."</option>";
        }
        $mostrar .= "</select>";
    }
    return $mostrar;
}

为了使方法没有太多参数,我这样做了:

<?php
...
$dados = array_filter($_POST);
echo $metodos->cadastrarProdutos($dados);

方法cadastrarProdutos($dados)

但是即使使用foreach()也无法获得段的值​​.

<?php
public function cadastrarProdutos(array $dados)
{
  ...
  $segments = $dados["Segments"];
  foreach($segments as $seg)
  {
     $segm = $seg;
  }
  ...
}

如何获得select2字段的值​​​,并使用没有jQuery的PHP方法获得它们?


共1个答案

匿名用户

我设法这样解决它:

<?php
public function cadastrarProdutos(array $dados)
{
  ...
  $segments = $dados["Segments"];
  $segm = array();
  foreach($segments as $seg)
  {
     $segm[] = $seg;
  }
  $segments = implode(',',$segm);
  ...
}