如何在jQuery自动完成中保存多个值到MySQLi数据库


How to Save Multiple Values in jQuery Autocomplete to MySQLi DB?

我正在学习jQuery自动完成小部件。这些值用逗号很好地弹出。因此,对用户的视觉显示是很棒的。

我的问题是如何将多个值保存到mysql数据库?

代码如下:

     <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>

不确定如何将用户选择的技能保存到数据库中。我可以轻松地将数据保存到mysql数据库;问题是我如何将三种技能保存到数据库表的三行中。

任何帮助,非常感谢。

例如,您将使用输入名称为skills的form post

<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);