Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengurusan inventori masa nyata dan fungsi amaran awal menggunakan PHP dan MQTT

Pengurusan inventori masa nyata dan fungsi amaran awal menggunakan PHP dan MQTT

WBOY
WBOYasal
2023-07-11 11:46:361007semak imbas

Gunakan PHP dan MQTT untuk mencapai pengurusan inventori masa nyata dan fungsi amaran awal

1. Pengenalan latar belakang
Dalam operasi perniagaan moden, pengurusan inventori merupakan bahagian yang sangat penting. Maklumat inventori yang tepat boleh membantu syarikat memahami kuantiti dan perubahan produk dalam masa nyata, membolehkan mereka membuat keputusan pembelian dan jualan yang lebih tepat. Pada masa yang sama, fungsi amaran inventori boleh meramalkan kekurangan inventori terlebih dahulu dan membantu syarikat mengelakkan akibat negatif seperti kehabisan stok.

2 Pemilihan Teknologi
Artikel ini menggunakan PHP sebagai bahasa pengaturcaraan bahagian pelayan, dan menggabungkannya dengan protokol MQTT untuk mencapai pengurusan inventori masa nyata dan fungsi amaran awal. Sebagai bahasa pembangunan web yang biasa digunakan, PHP mudah dipelajari dan digunakan; protokol MQTT ialah protokol pemesejan ringan yang sesuai untuk Internet Perkara dan senario aplikasi mudah alih.

3. Pelaksanaan fungsi pengurusan inventori
1 Reka bentuk pangkalan data
Pertama, buat pangkalan data bernama inventori dan buat jadual data bernama produk untuk menyimpan maklumat inventori produk. Jadual data termasuk medan berikut:

  • id: ID produk
  • nama: nama produk
  • kuantiti: kuantiti produk

2. Reka bentuk dan pembangunan halaman
Buat fail bernama index.php untuk memaparkan maklumat inventori. Dalam fail ini, kami boleh menyenaraikan nama dan kuantiti semua produk dan menyediakan borang untuk pengguna memasukkan nama dan kuantiti produk.

3. Sambungan pangkalan data dan bacaan data
Dalam fail PHP, kita perlu menyedari sambungan dengan pangkalan data dan membaca maklumat inventori produk daripada pangkalan data. Berikut ialah contoh kod untuk menyambung ke pangkalan data dan membaca data:

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "inventory";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

// 从数据库中读取产品的库存信息
$sql = "SELECT id, name, quantity FROM products";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    echo "<table>";
    echo "<tr><th>产品ID</th><th>产品名称</th><th>产品数量</th></tr>";
  
    while($row = $result->fetch_assoc()) {
        echo "<tr><td>".$row["id"]."</td><td>".$row["name"]."</td><td>".$row["quantity"]."</td></tr>";
    }
  
    echo "</table>";
} else {
    echo "暂无产品信息";
}

$conn->close();
?>

IV Pelaksanaan fungsi amaran inventori
1. Tetapkan ambang amaran inventori
Untuk melaksanakan fungsi amaran inventori, kita perlu menetapkan inventori. ambang amaran. Apabila inventori produk jatuh di bawah ambang ini, sistem akan mengeluarkan mesej amaran awal.

2. Hantar mesej MQTT
Dalam fail PHP, kita boleh menggunakan protokol MQTT untuk menghantar mesej amaran. Berikut ialah contoh kod untuk menghantar mesej MQTT:

<?php
require("phpMQTT.php");

$server = 'localhost';     //MQTT服务器地址
$port = 1883;                     //MQTT服务器端口号
$username = 'username';   //MQTT用户名
$password = 'password';   //MQTT密码

$mqtt = new phpMQTT($server, $port, "PHP MQTT Client");
if (!$mqtt->connect(true, NULL, $username, $password)) {
    exit(1);
}

$topic = 'inventory/alert';      //MQTT主题
$message = '产品A库存不足,请及时补货!';  //预警消息

// 发布MQTT消息
$mqtt->publish($topic, $message, 0, false);

$mqtt->close();
?>

3. Langgan mesej MQTT
Untuk menerima mesej amaran MQTT, kami perlu melanggan topik MQTT yang sepadan dalam fail PHP lain dan memproses mesej yang diterima. Berikut ialah contoh kod untuk melanggan mesej MQTT:

<?php
require("phpMQTT.php");

$server = 'localhost';     //MQTT服务器地址
$port = 1883;                     //MQTT服务器端口号
$username = 'username';   //MQTT用户名
$password = 'password';   //MQTT密码

$mqtt = new phpMQTT($server, $port, "PHP MQTT Client");
if (!$mqtt->connect(true, NULL, $username, $password)) {
    exit(1);
}

$topic = 'inventory/alert';      //MQTT主题

// 定义接收消息的回调函数
function messageReceived($topic, $message) {
    echo "接收到预警消息:[{$topic}] {$message}<br/>";
}

// 订阅MQTT主题并设置接收消息的回调函数
$mqtt->subscribe($topic, function($topic, $message){
    messageReceived($topic, $message);
}, 0);

while ($mqtt->proc()) { }

$mqtt->close();
?>

5. Ringkasan
Dengan menggunakan protokol PHP dan MQTT, kami telah mencapai pengurusan inventori masa nyata dan fungsi amaran awal. Protokol MQTT boleh digunakan untuk menerbitkan dan melanggan mesej masa nyata, dan menghantar mesej amaran tepat pada masanya apabila inventori jatuh di bawah ambang amaran. Ini dapat meningkatkan kecekapan pengurusan inventori syarikat dan mengelakkan masalah seperti kehabisan stok. Pada masa yang sama, melalui reka bentuk dan pengendalian pangkalan data, rakaman yang tepat dan pertanyaan maklumat inventori boleh dicapai. Dalam aplikasi sebenar, kod boleh diubah suai dan dioptimumkan mengikut keperluan khusus untuk memenuhi senario perniagaan yang lebih khusus.

Atas ialah kandungan terperinci Pengurusan inventori masa nyata dan fungsi amaran awal menggunakan PHP dan MQTT. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn