0

jQuery AutoComplete ウィジェットについて学んでいます。値はコンマでうまくポップアップします。したがって、ユーザーへの視覚的な表示は素晴らしいものです。

私の問題は、複数の値を MySQLi データベースに保存する方法です。

コードは次のとおりです。

     <script>
     $(function() {
      var availableskills = [
        "ActionScript",
        "AppleScript",
         ..........
         more languages
        "XML"
    ];
    function split( val ) {
        return val.split( /,\s*/ );
    }
    function extractLast( term ) {
        return split( term ).pop();
    }

    $( "#skills" )
        // don't navigate away from the field on tab when selecting an item
        .bind( "keydown", function( event ) {
            if ( event.keyCode === $.ui.keyCode.TAB &&
                    $( this ).data( "autocomplete" ).menu.active ) {
                event.preventDefault();
            }
        })
        .autocomplete({
            minLength: 0,
            // could have source as a "url"
            source: function( request, response ) {
                // delegate back to autocomplete, but extract the last term
                response( $.ui.autocomplete.filter(
                    availableskills, extractLast( request.term ) ) );
            },
            focus: function() {
                // prevent value inserted on focus
                return false;
            },
            select: function( event, ui ) {
                var terms = split( this.value );
                // remove the current input
                terms.pop();
                // add the selected item
                terms.push( ui.item.value );
                // add placeholder to get the comma-and-space at the end
                terms.push( "" );
                this.value = terms.join( ", " );
                return false;
            }
        });
});
</script>

ここで、ユーザーがスキルを選択できるようにするための入力 ID を次に示します。

 <div class="ui-widget">
<!--<label for="skills">Tag programming languages: </label>-->
<input type="text" id="skills" size="50" />
 </div>

ユーザーが選択したスキルをデータベースに保存する方法がわかりません。データを MySQLi データベースに簡単に保存できます。問題は、たとえば 3 つのスキルをデータベースのテーブルの 3 つの異なる行に保存する方法です。

どんな助けでも、とても感謝しています。

ケン

4

1 に答える 1

1

たとえば、入力名スキルでフォーム投稿を行います

<form method="post" action="test.php">
<div class="ui-widget">
<input type="text" id="skills" size="50" name='skills' />
</div>
</form>

次に、test.phpは次のようになります

<?php
//...do some mysql connections
$skills = explode(",",$_POST['skills']);
foreach($skills as $skill){
    $statement.="INSERT INTO blahblahblah SET skill = ".mysqli_real_escape_string($skill);
}
$mysqli->multi_query($statement);
于 2012-12-28T01:35:21.517 に答える