سیستم مدیریت موجودی در PHP و CODEIGNITER
سیستم مدیریت موجودی ابزاری است که به شرکتها کمک میکند تا موجودی محصولات خود را بهطور مؤثر کنترل کنند. این سیستم میتواند شامل قابلیتهایی نظیر افزودن، ویرایش، حذف و مشاهده موجودی کالاها باشد. در اینجا، ما به بررسی یک سیستم مدیریت موجودی ساده با استفاده از PHP و فریمورک CodeIgniter خواهیم پرداخت.
راهاندازی CodeIgniter
در ابتدا، باید CodeIgniter را بر روی سرور محلی یا میزبانی وب خود نصب کنید. برای این کار، مراحل زیر را دنبال کنید:
- دانلود CodeIgniter: به وبسایت رسمی CodeIgniter بروید و آخرین نسخه را دانلود کنید.
- ایجاد پایگاه داده: یک پایگاه داده جدید در MySQL ایجاد کنید. برای مثال، نام آن را `inventory_db` قرار دهید.
- تنظیمات پایگاه داده: فایل `application/config/database.php` را ویرایش کنید و اطلاعات پایگاه داده خود را در آن وارد کنید:
```php
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'your_username',
'password' => 'your_password',
'database' => 'inventory_db',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
```
طراحی پایگاه داده
سپس، یک جدول برای ذخیره اطلاعات موجودی کالاها ایجاد کنید. میتوانید از کد SQL زیر استفاده کنید:
```sql
CREATE TABLE `products` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(100) NOT NULL,
`quantity` INT(11) NOT NULL,
`price` DECIMAL(10,2) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
```
ایجاد کنترلر و مدل
برای مدیریت دادهها، باید یک کنترلر و مدل ایجاد کنیم. در ابتدا، یک مدل به نام `Product_model.php` در پوشه `application/models` ایجاد کنید:
```php
class Product_model extends CI_Model {
public function __construct() {
parent::__construct();
}
public function get_all_products() {
return $this->db->get('products')->result();
}
public function add_product($data) {
return $this->db->insert('products', $data);
}
public function update_product($id, $data) {
$this->db->where('id', $id);
return $this->db->update('products', $data);
}
public function delete_product($id) {
return $this->db->delete('products', array('id' => $id));
}
}
```
سپس یک کنترلر به نام `Inventory.php` در پوشه `application/controllers` ایجاد کنید:
```php
class Inventory extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->model('Product_model');
}
public function index() {
$data['products'] = $this->Product_model->get_all_products();
$this->load->view('inventory/index', $data);
}
public function add() {
if ($this->input->post()) {
$data = array(
'name' => $this->input->post('name'),
'quantity' => $this->input->post('quantity'),
'price' => $this->input->post('price')
);
$this->Product_model->add_product($data);
redirect('inventory');
}
$this->load->view('inventory/add');
}
// توابع ویرایش و حذف نیز باید به همین شکل اضافه شوند
}
```
ایجاد ویوها
در نهایت، باید ویوها را برای نمایش موجودی و فرمهای افزودن و ویرایش ایجاد کنید. به عنوان مثال، یک ویو به نام `index.php` در پوشه `application/views/inventory` ایجاد کنید:
```php
<h1>مدیریت موجودی</h1>
<a href="<?php echo site_url('inventory/add'); ?>">افزودن محصول جدید</a>
<table>
<thead>
<tr>
<th>نام محصول</th>
<th>مقدار</th>
<th>قیمت</th>
<th>عملیات</th>
</tr>
</thead>
<tbody>
<?php foreach ($products as $product): ?>
<tr>
<td><?php echo $product->name; ?></td>
<td><?php echo $product->quantity; ?></td>
<td><?php echo $product->price; ?></td>
<td>
<a href="<?php echo site_url('inventory/edit/' . $product->id); ?>">ویرایش</a>
<a href="<?php echo site_url('inventory/delete/' . $product->id); ?>">حذف</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
```
نتیجهگیری
این سیستم مدیریت موجودی، یک مثال ساده از نحوه استفاده از PHP و CodeIgniter برای مدیریت موجودی کالاهاست. با افزودن قابلیتهای بیشتر، مانند جستجو، فیلتر و گزارشگیری، میتوانید این سیستم را بهبود بخشید و آن را متناسب با نیازهای خاص سازمان خود گسترش دهید.