2016-06-15 13 views
1

したがって、私はSelect2で本当に苦労しています。ユーザーが選択リストを検索し、検索結果が見つからない場合は新しいタグを作成できるようにします。新しいタグを作成することは問題ではありません。最も重要なことは - そして驚くほど多くのフォーラムで見落とされていること - ニュースタグをデータベースに挿入することです。私はSelect2を初めて使ったので、私は完全な例を持っていたいと思います。私はこのプロジェクトでPHPを使用していますので、PHPでこれを行う方法があれば、本当に役に立ちます。Select2で新しいタグを作成してデータベースに保存する方法

$('#caracteristicas').select2({theme:'bootstrap', width:null, placeholder:'Selecione', allowClear:true})
<?php 
 
$q = mysqli_query($con, "select id, descricao from caracteristicas"); 
 
if(mysqli_num_rows($q)>(0)) 
 
{ 
 
?> 
 
<div class="form-group"> 
 
\t <label for="caracteristicas">Selecione um ou mais resultados</label> 
 
\t <select name="caracteristicas[]" id="caracteristicas" class="form-control" multiple="multiple"> 
 
\t \t <option value="">Selecione</option> 
 
\t \t <?php      
 
\t \t while($linhas = mysqli_fetch_array($q)): 
 
\t \t ?> 
 
\t \t <option value="<?=$linhas["id"]?>"> 
 
      <?=strlen($linhas["descricao"])>50 ? substr($linhas["descricao"], 0, 50)."..." : $linhas["descricao"]?> 
 
     </option> 
 
\t \t <?php endwhile;?> 
 
\t </select> 
 
</div> 
 
<?php } mysqli_close($con);?>

注:

は、ここに私のコードで私はこれを行う方法を考え出しSelectセレクト4.0

答えて

0

を使用しています。私は、ユーザーが作成したタグにはIDがないことに気付きました。つまり、オプション値は数字ではなく文字列になります。だから、私がしなければならなかったことは、文字列値を別の方法で処理するようにPHPに指示することでした。

for($i=0; $i<count($opcoes); $i++) 
 
{ 
 
\t if(!is_numeric($opcoes[$i])) 
 
\t { 
 
\t \t if(!mysqli_query($con, "INSERT INTO `atividades`(`id`, `descricao`) VALUES (NULL, '".$opcoes[$i]."')")) 
 
\t \t { 
 
\t \t \t $msg_caracteristicas[$i] = "A atividade n&atilde;o foi cadastrada, <strong>erro <a href='http://randomurl.com' target='_blank'>#".mysqli_errno($con)."</a></strong> - \"".mysqli_error($con)."\""; \t 
 
\t \t } 
 
\t \t else 
 
\t \t { 
 
\t \t \t echo "<script>alert('deu certo');</script>"; \t 
 
\t \t } 
 
\t } 
 
}

:ここで私はこれを解決する方法です
関連する問題