In this tutorial, We will learn how to store jquery select2 multiple select values into a database using ajax in PHP. We will store multiple select value jquery select 2 with ajax PHP example.
Example:
index.php
<html lang="en">
<head>
<title>jquery select2 ajax php example</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha256-aAr2Zpq8MZ+YA/D6JtRD3xtrwpEz2IqOS+pWD/7XKIw=" crossorigin="anonymous" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha256-OFRAJNoaD8L3Br5lglV7VyLRf0itmoBzWUoM+Sji4/8=" crossorigin="anonymous"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script>
</head>
<body>
<div class="row mt-5">
<div class="col-md-6 offset-3 mt-5">
<div class="card">
<div class="card-header bg-info text-white">
<h5>PHP Select2 Multiple Select Ajax Example</h5>
</div>
<div class="card-body" style="height: 300px;">
<div class="row mb-2">
<div class="data-response col-md-12" style="display: none;">
<div class="alert alert-success"></div>
</div>
</div>
<form method="POST">
<div class="form-group">
<label>Title :</label>
<input type="text" name="title" class="form-control">
</div>
<div class="form-group">
<label>Category :</label>
<select class="category form-control" name="category[]" multiple>
<option value="1">Laravel</option>
<option value="2">Jquery</option>
<option value="3">PHP</option>
<option value="4">React</option>
<option value="5">Jquery ui</option>
<option value="6">Android</option>
<option value="7">React Native</option>
<option value="8">Vue js</option>
<option value="9">Bootstrap 4</option>
</select>
</div>
<div class="form-group">
<button class="btn btn-success store-data btn-sm">Save</button>
</div>
</form>
</div>
</div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function () {
$('.category').select2();
});
$('body').on('click', '.store-data', function (e) {
e.preventDefault();
var title = $('input[name=title]').val();
var category = $('.category').val();
$.ajax({
method: 'POST',
url: '/selectPro.php',
data: {
title: title,
category: category,
},
success: function (data) {
$('.data-response').css('display', 'block');
$('.alert-success').text(data).show();
$('input[name=title]').val('');
$(".category").val('').trigger('change');
// setTimeout(function() {}unction(){$('.alert-success').hide();}, 3000);
}
});
});
</script>
</body>
</html>
selectPro.php
<?php
define (DB_USER, "root");
define (DB_PASSWORD, "root");
define (DB_DATABASE, "new_blog");//Database Name
define (DB_HOST, "localhost");
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);
$title = $_POST['title'];
$category = implode(', ', $_POST['category']);
$sql = "INSERT INTO posts (title,category) VALUES ('$title', '$category')";
$result = $mysqli->query($sql);
echo 'Data Inserted Successfully'
?>
Thanks, May this example will help you...