Heim >Backend-Entwicklung >PHP-Tutorial >Codegenerierung für die Bestandsprotokollierungsfunktion im PHP-Bestandsverwaltungssystem
Codegenerierung für die Bestandsprotokollierungsfunktion im PHP-Bestandsverwaltungssystem
Einführung:
Im Bestandsverwaltungssystem ist die Bestandsprotokollierung ein sehr wichtiger Teil, der uns dabei helfen kann, Bestandsänderungen von Waren zu verfolgen und zu verwalten. In diesem Artikel wird erläutert, wie Sie mit PHP die Bestandsprotokollierungsfunktion im Bestandsverwaltungssystem schreiben, und Codebeispiele verwenden, um den Lesern das Verständnis und die Implementierung dieser Funktion zu erleichtern.
1. Erstellen Sie eine Datenbanktabelle
Zuerst müssen Sie eine Datenbanktabelle erstellen, um Inventarprotokolldatensätze zu speichern. Das Folgende ist ein einfaches Beispiel für die Struktur einer Inventarprotokolltabelle:
CREATE TABLE IF NOT EXISTS inventory_logs
(inventory_logs
(
id
int(11) NOT NULL AUTO_INCREMENT,
product_id
int(11) NOT NULL,
action
varchar(255) NOT NULL,
quantity
int(11) NOT NULL,
created_at
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id
id
int(11) NOT NULL AUTO_INCREMENT,
product_id int(11) NOT NULL,
action
varchar(255) NOT NULL, quantity
int(11) NOT NULL,
created_at
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,id
)Menge: Vorgangsmenge, die die Warenmenge für diesen Vorgang angibt.
2. Codefunktion für die Inventarprotokollierung schreiben
private $pdo; public function __construct(PDO $pdo) { $this->pdo = $pdo; } public function addLog($product_id, $action, $quantity) { $sql = "INSERT INTO inventory_logs (product_id, action, quantity) VALUES (:product_id, :action, :quantity)"; $stmt = $this->pdo->prepare($sql); $stmt->bindValue(':product_id', $product_id, PDO::PARAM_INT); $stmt->bindValue(':action', $action, PDO::PARAM_STR); $stmt->bindValue(':quantity', $quantity, PDO::PARAM_INT); $stmt->execute(); } public function getLogs($product_id) { $sql = "SELECT * FROM inventory_logs WHERE product_id = :product_id ORDER BY created_at DESC"; $stmt = $this->pdo->prepare($sql); $stmt->bindValue(':product_id', $product_id, PDO::PARAM_INT); $stmt->execute(); return $stmt->fetchAll(PDO::FETCH_ASSOC); }
$dbHost = 'localhost';
$dbName = 'inventory';
$dbUser = 'root' ;
$dsn = "mysql:host=$dbHost;dbname=$dbName;charset=utf8";
$inventoryLog = new InventoryLog($pdo);
// Einen Inventarprotokolldatensatz hinzufügen
// Den Inventarprotokolldatensatz von Produkt 1 abrufen
$ logs = $inventoryLog->getLogs(1);
echo "商品ID: " . $log['product_id'] . " 操作类型: " . $log['action'] . " 操作数量: " . $log['quantity'] . "";
}
?>
Im obigen Code haben wir zunächst eine Klasse namens InventoryLog erstellt. Behandeln Sie die Der Konstruktor akzeptiert ein PDO-Objekt, um eine Verbindung zur Datenbank herzustellen. Die Methode addLog wird verwendet, um einen Inventarprotokolldatensatz zur Datenbank hinzuzufügen, und die Methode getLogs wird verwendet, um den Inventarprotokolldatensatz des angegebenen Produkts abzurufen Anwendungsbeispiel: Wir erstellen zunächst ein PDO-Objekt und übergeben es an den Konstruktor der InventoryLog-Klasse. Anschließend verwenden wir die Methode addLog, um einen Inventarprotokolldatensatz hinzuzufügen, und verwenden schließlich die Methode getLogs, um den Inventarprotokolldatensatz des angegebenen Produkts abzurufen
Das obige ist der detaillierte Inhalt vonCodegenerierung für die Bestandsprotokollierungsfunktion im PHP-Bestandsverwaltungssystem. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!