Ich möchte einen Wert (Anzahl der Produkte auf Lager) dekrementieren, wenn ein Benutzer auf die Schaltfläche "In den Warenkorb" klickt und den Wert nach einer bestimmten Zeit (sagen wir 5 Minuten) auf den Anfangswert zurücksetzt? P.S: Im mit PHP jQuery und Ajax.Wie ändere ich eine Datenbank (mysql) und stelle sie nach 5 Minuten wieder her?
Antwort
Sie können PDO
(PHP-Kommunikation mit MySQL) verwenden. Ein solches Beispiel wäre der Wert in der Datenbank zu verringern, mit einer vorbereitete AnweisungLeistung (und Sicherheit natürlich) zu verbessern:
$sql = "UPDATE myTable SET number_of_products = number_of_products - :quantity WHERE product_id = :id";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':quantity', $quantity);
$stmt->bindParam(':id', $id);
$stmt->execute();
Dann, da Sie bereits die Anweisung vorbereitet, könnten Sie zufällt diesen Wert wie folgt (ohne dass die gesamte sQL-Anweisung neu deklarieren)
$stmt->bindParam(':quantity', -$quantity);
$stmt->bindParam(':id', $id);
$stmt->execute();
Wenn Sie das zweite Skript zu nach 5 Minuten wollte, könnten Sie ein Warteschlangen-System implementiert haben das hat eine Verzögerung von 5 Minuten zum Beispiel. Es gibt auch Funktionen, die zum Schlafen für 5 Minuten verwendet werden können, aber es wäre sehr unpraktisch, diese Funktion auf der gleichen Seite wie der Benutzer auszuführen (es sei denn, Sie beabsichtigen, sie in einem separaten Skript zu verwenden), da der Benutzer dies buchstäblich tun würde für 5 Minuten auf derselben Seite warten.
es ist eine nette Idee, aber der ganze wartende Teil ist nicht so praktisch, in der Tat bin ich bereit, diese "5 Minuten" geht auf die Bühne, während der Kunde immer noch auf meiner Website, macht jede Art von Sachen, die er will, und einmal Er geht dort für mehr als 5 Minuten, die Werte würden sich ändern ... –
@TarikKaoukab Ja wie gesagt, es ist nicht praktisch jemanden warten zu lassen, weshalb ein Warteschlangen-System praktisch sein könnte. Ich bin mir nicht sicher, wie viel Zeit und Mühe Sie in die Entwicklung Ihres Projekts investieren möchten. Ich möchte Ihnen nur einige der Möglichkeiten aufzeigen, wie Menschen "Wartesysteme" implementieren. Was den Code betrifft, so ist das SQL, das heute vorgestellt wird, aufgrund der Geschwindigkeit so ziemlich der Standard. Oh, und wenn meine Antwort für dich funktioniert hat, akzeptiere sie bitte mit einem grünen Häkchen, damit zukünftige Nutzer wissen, dass es für dich funktioniert hat. – Webeng
Speichern Sie den Wert für eine Datei (oder eine Diff-Tabelle) und verwenden Sie einen Cronjob, um es wiederherzustellen. –
Entschuldigung ich kann nicht sehen, was Sie meinen, können Sie genauer sein? (ein Beispiel wäre gut), danke! –
'UPDATE Tabelle gesetzt col_x = col_x -1 WHERE col_y = 'z' UND Datum