مقدمه
سیستم صدور فاکتور یکی از اجزای حیاتی در هر کسبوکار است. با استفاده از PHP و MySQL، میتوان یک سیستم کارآمد و کاربردی برای مدیریت فاکتورها ایجاد کرد. در این مقاله به مراحل ساخت یک سیستم صدور فاکتور با استفاده از این دو تکنولوژی پرداخته میشود.
طراحی پایگاه داده
اولین و مهمترین مرحله، طراحی پایگاه داده است. شما به جداول زیر نیاز دارید:
- جدول کاربران: برای ذخیره اطلاعات کاربران.
- جدول مشتریان: شامل نام، آدرس و اطلاعات تماس مشتریان.
- جدول محصولات: شامل نام محصول، قیمت و توضیحات.
- جدول فاکتورها: شامل شماره فاکتور، تاریخ صدور و شناسه مشتری.
- جدول جزئیات فاکتور: برای ذخیره اطلاعات مربوط به هر محصول در فاکتور.
با استفاده از MySQL، میتوانید این جداول را ایجاد کنید:
```sql
CREATE TABLE customers (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
address VARCHAR(255),
phone VARCHAR(15)
);
CREATE TABLE products (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
price DECIMAL(10, 2),
description TEXT
);
CREATE TABLE invoices (
id INT AUTO_INCREMENT PRIMARY KEY,
customer_id INT,
date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (customer_id) REFERENCES customers(id)
);
CREATE TABLE invoice_details (
id INT AUTO_INCREMENT PRIMARY KEY,
invoice_id INT,
product_id INT,
quantity INT,
FOREIGN KEY (invoice_id) REFERENCES invoices(id),
FOREIGN KEY (product_id) REFERENCES products(id)
);
```
توسعه بکاند با PHP
حالا که پایگاه داده آماده است، باید بکاند را با PHP توسعه دهیم. برای این کار ابتدا باید به پایگاه داده متصل شویم:
```php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "invoicing_system";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
```
ایجاد فاکتور
برای ایجاد فاکتور، باید اطلاعات مشتری و محصولات را از فرم دریافت کنید. سپس این اطلاعات را در جداول مربوطه ذخیره کنید. به عنوان مثال:
```php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$customer_id = $_POST['customer_id'];
$products = $_POST['products']; // یک آرایه از محصولات و تعداد آنها
// ایجاد فاکتور
$sql = "INSERT INTO invoices (customer_id) VALUES ('$customer_id')";
$conn->query($sql);
$invoice_id = $conn->insert_id;
// افزودن جزئیات فاکتور
foreach ($products as $product_id => $quantity) {
$sql = "INSERT INTO invoice_details (invoice_id, product_id, quantity) VALUES ('$invoice_id', '$product_id', '$quantity')";
$conn->query($sql);
}
}
```
نمایش فاکتورها
برای نمایش فاکتورها، میتوانید از یک کوئری SQL ساده استفاده کنید:
```php
$sql = "SELECT * FROM invoices";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "Invoice ID: " . $row["id"] . " - Customer ID: " . $row["customer_id"] . " - Date: " . $row["date"] . "<br>";
}
} else {
echo "No invoices found.";
}
```
نتیجهگیری
با دنبال کردن مراحل بالا، شما میتوانید یک سیستم صدور فاکتور ساده با استفاده از PHP و MySQL ایجاد کنید. این سیستم میتواند به راحتی توسعه یابد و ویژگیهای جدیدی به آن اضافه شود. از جمله افزودن قابلیتهای گزارشگیری و مدیریت کاربران.