I've created this form with a jQuery autocomplete function. The selected brand from the autocomplete list needs to get sent to a PHP file using $.ajax function. My code doesn't seem to work but i can't find the error. I don't know why the data isn't getting inserted into MYSQL database. Here is my code:
JQUERY:
$(document).ready(function() {
$("#autocomplete").autocomplete({
minLength: 2
});
$("#autocomplete").autocomplete({
source: ["Adidas", "Airforce", "Alpha Industries", "Asics", "Bikkemberg", "Birkenstock", "Bjorn Borg", "Brunotti", "Calvin Klein", "Cars Jeans", "Chanel", "Chasin", "Diesel", "Dior", "DKNY", "Dolce & Gabbana"]
});
$("#add-brand").click(function() {
var merk = $("#autocomplete").val();
$("#selected-brands").append(" " + merk + "");
//Add your parameters here
var param = JSON.stringify({
Brand: merk
});
$.ajax({
type: "POST",
async: true,
url: "scripttohandlejson.php",
contentType: "application/json",
data: param,
dataType: "json",
success: function (good){
//handle success
alert(good)
},
failure: function (bad){
//handle any errors
alert(bad)
}
});
return false;
});
});
PHP FILE: scripttohandlejson.php
$getcontent = json_decode($json, true);
$getcontent->{'Brand'};
$vraag = "INSERT INTO kijken (merk) VALUES ('$data_s')";
$voerin = mysql_query($vraag) or die("couldnt put into db");
解决方案$arr_content = json_decode($json, true);
$brand = $arr_content["Brand"];
$vraag = "INSERT INTO kijken (merk) VALUES ('" . $brand . "')";
EDIT:
THE PROBLEM: In your example, your json_decode returns an associative array because you have the parameter 'true' in the function call. But in the next line you are attempting to use the result like an object by trying to access 'it's 'BRAND' property.
All you have to do is to remove true from the json_decode function call, or alternatively use my code above.
NOTE: Edited SQL statement too.