Fügen Sie das Modell "Backbone.js" in die MySQL-Datenbank ein
Ich habe ein backbone.js-Modell mit einigen Standardeinstellungen und einer URL:
var Box = Backbone.Model.extend({
url: "./save.php",
defaults: {
x: 0,
y: 0,
w: 1,
h: 1
}
});
Dann habe ich eine Instanz dieses Modells und fahre damit fort, es zu speichern:
var box = new Box({ x:10, y:10, w:200, h:200 });
box.save();
Jetzt möchte ich dieses Modell mit einem PHP-Skript "save.php" in einer MySQL-Datenbank speichern.
<?php
include('connection.php');
$id = $_POST['cid'];
$x = $_POST['x'];
$y = $_POST['y'];
$w = $_POST['w'];
$h = $_POST['h'];
mysql_query("INSERT INTO boxes (id, x, y, w, h)
VALUES('$id', '$x', '$y', '$w', '$h')
") or die(mysql_error());
?>
echo "Data Inserted!";
Ich habe versucht, viele Tutorials zu lesen, aber ich kann dieses einfache Modell nicht zum Laufen bringen. Warum funktioniert mein Code nicht? Irgendwelche Ideen, wie dies gelöst werden kann?
Vielen Dank
EDIT: SCHNELLE LÖSUNG
Im PHP-Skript lautet die korrekte Methode zum Abrufen der Informationen aus dem gesendeten JSON-Objekt wie folgt:
$box_data = json_decode(file_get_contents('php://input'));
$x = $box_data->{'x'};
$y = $box_data->{'y'};
$w = $box_data->{'w'};
$h = $box_data->{'h'};
Und in der Datenbank speichern:
mysql_query("INSERT INTO boxes(id, x, y, w, h)
VALUES('', '$x', '$y', '$w', '$h') ")
or die(mysql_error());
Auf diese Weise wird eine Zeile mit den Informationen der einzelnen Attribute der Backbone-Modellbox in die Tabelle "Boxen" eingefügt. Die Server-Anforderungsmethode ist in diesem Fall POST und die ID in der Tabelle "Felder" ist auf Auto-Inkrement gesetzt.