PHP CI MANIA - PHP Code Generator
การสร้างเว็บไซต์จองรถตู้ด้วย CodeIgniter และ Bootstrap template เป็นกระบวนการที่เกี่ยวข้องกับหลายขั้นตอน ตั้งแต่การติดตั้ง CodeIgniter ไปจนถึงการออกแบบส่วนหน้าด้วย Bootstrap และการสร้างฟังก์ชันสำหรับการจองรถตู้ เราจะทำตามขั้นตอนเหล่านี้เพื่อสร้างเว็บไซต์อย่างง่าย:
- ติดตั้ง CodeIgniter
- ติดตั้ง Bootstrap Template
- สร้างฐานข้อมูลสำหรับการจองรถตู้
- สร้าง Controller, Model และ View
- เพิ่มฟังก์ชันสำหรับการจองรถตู้
ขั้นตอนที่ 1: ติดตั้ง CodeIgniter
- ดาวน์โหลด CodeIgniter จาก เว็บไซต์ทางการ
- แตกไฟล์ที่ดาวน์โหลดมาและย้ายไปยังโฟลเดอร์ของเว็บเซิร์ฟเวอร์ (เช่น
htdocs
ของ XAMPP)
ขั้นตอนที่ 2: ติดตั้ง Bootstrap Template
- ดาวน์โหลด Bootstrap Template จาก เว็บไซต์ Bootstrap
- วางไฟล์ CSS และ JS ของ Bootstrap ในโฟลเดอร์
assets
ของโปรเจ็กต์
ขั้นตอนที่ 3: สร้างฐานข้อมูลสำหรับการจองรถตู้
- เปิด phpMyAdmin และสร้างฐานข้อมูลใหม่ชื่อ
van_booking
- สร้างตาราง
bookings
ด้วยโครงสร้างดังนี้:
CREATE TABLE bookings (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL,
phone VARCHAR(20) NOT NULL,
date DATE NOT NULL,
time TIME NOT NULL,
destination VARCHAR(200) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
ขั้นตอนที่ 4: สร้าง Controller, Model และ View
Controller: สร้างไฟล์
Booking.php
ในโฟลเดอร์application/controllers/
:<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Booking extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->model('Booking_model');
$this->load->helper('url');
$this->load->library('form_validation');
}
public function index() {
$this->load->view('booking_form');
}
public function book() {
$this->form_validation->set_rules('name', 'Name', 'required');
$this->form_validation->set_rules('email', 'Email', 'required|valid_email');
$this->form_validation->set_rules('phone', 'Phone', 'required');
$this->form_validation->set_rules('date', 'Date', 'required');
$this->form_validation->set_rules('time', 'Time', 'required');
$this->form_validation->set_rules('destination', 'Destination', 'required');
if ($this->form_validation->run() == FALSE) {
$this->load->view('booking_form');
} else {
$data = array(
'name' => $this->input->post('name'),
'email' => $this->input->post('email'),
'phone' => $this->input->post('phone'),
'date' => $this->input->post('date'),
'time' => $this->input->post('time'),
'destination' => $this->input->post('destination')
);
$this->Booking_model->insert_booking($data);
$this->load->view('booking_success');
}
}
}
2. Model: สร้างไฟล์ Booking_model.php
ในโฟลเดอร์ application/models/
:
<?php
class Booking_model extends CI_Model {
public function __construct() {
$this->load->database();
}
public function insert_booking($data) {
return $this->db->insert('bookings', $data);
}
}
3.View: สร้างไฟล์ booking_form.php
และ booking_success.php
ในโฟลเดอร์ application/views/
:
<!-- booking_form.php -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Van Booking</title>
<link rel="stylesheet" href="<?php echo base_url('assets/css/bootstrap.min.css'); ?>">
</head>
<body>
<div class="container">
<h2>Van Booking Form</h2>
<?php echo validation_errors(); ?>
<?php echo form_open('booking/book'); ?>
<div class="form-group">
<label for="name">Name:</label>
<input type="text" class="form-control" id="name" name="name">
</div>
<div class="form-group">
<label for="email">Email:</label>
<input type="email" class="form-control" id="email" name="email">
</div>
<div class="form-group">
<label for="phone">Phone:</label>
<input type="text" class="form-control" id="phone" name="phone">
</div>
<div class="form-group">
<label for="date">Date:</label>
<input type="date" class="form-control" id="date" name="date">
</div>
<div class="form-group">
<label for="time">Time:</label>
<input type="time" class="form-control" id="time" name="time">
</div>
<div class="form-group">
<label for="destination">Destination:</label>
<input type="text" class="form-control" id="destination" name="destination">
</div>
<button type="submit" class="btn btn-primary">Book Now</button>
<?php echo form_close(); ?>
</div>
<script src="<?php echo base_url('assets/js/bootstrap.bundle.min.js'); ?>"></script>
</body>
</html>
<!-- booking_success.php -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Booking Success</title>
<link rel="stylesheet" href="<?php echo base_url('assets/css/bootstrap.min.css'); ?>">
</head>
<body>
<div class="container">
<h2>Booking Successful</h2>
<p>Your booking has been made successfully.</p>
<a href="<?php echo base_url(); ?>" class="btn btn-primary">Back to Home</a>
</div>
<script src="<?php echo base_url('assets/js/bootstrap.bundle.min.js'); ?>"></script>
</body>
</html>
ขั้นตอนที่ 5: เพิ่มฟังก์ชันสำหรับการจองรถตู้
ตอนนี้คุณสามารถทดสอบเว็บไซต์จองรถตู้ของคุณได้โดยการเรียกดู URL ที่เหมาะสม (http://localhost/your_project/booking
)
นี่เป็นโครงสร้างพื้นฐานสำหรับการสร้างเว็บไซต์จองรถตู้โดยใช้ CodeIgniter และ Bootstrap template คุณสามารถปรับแต่งเพิ่มเติมตามความต้องการของคุณได้
การเพิ่มหน้าเว็บสำหรับแพกเกจทัวร์ในเว็บไซต์จองรถตู้ด้วย CodeIgniter และ Bootstrap template สามารถทำได้โดยทำตามขั้นตอนต่อไปนี้:
- สร้างฐานข้อมูลสำหรับแพกเกจทัวร์
- สร้าง Controller, Model และ View สำหรับแพกเกจทัวร์
- อัปเดตหน้าเว็บเพื่อแสดงรายการแพกเกจทัวร์
ขั้นตอนที่ 1: สร้างฐานข้อมูลสำหรับแพกเกจทัวร์
- เปิด phpMyAdmin และสร้างตาราง
tour_packages
ในฐานข้อมูลvan_booking
ด้วยโครงสร้างดังนี้:
CREATE TABLE tour_packages (
id INT AUTO_INCREMENT PRIMARY KEY,
package_name VARCHAR(100) NOT NULL,
description TEXT NOT NULL,
price DECIMAL(10, 2) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
ขั้นตอนที่ 2: สร้าง Controller, Model และ View สำหรับแพกเกจทัวร์
Model: สร้างไฟล์
Tour_model.php
ในโฟลเดอร์application/models/
:
<?php
class Tour_model extends CI_Model {
public function __construct() {
$this->load->database();
}
public function get_tours() {
$query = $this->db->get('tour_packages');
return $query->result_array();
}
public function insert_tour($data) {
return $this->db->insert('tour_packages', $data);
}
}
2. Controller: สร้างไฟล์ Tour.php
ในโฟลเดอร์ application/controllers/
:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Tour extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->model('Tour_model');
$this->load->helper('url');
$this->load->library('form_validation');
}
public function index() {
$data['tours'] = $this->Tour_model->get_tours();
$this->load->view('tour_list', $data);
}
public function create() {
$this->form_validation->set_rules('package_name', 'Package Name', 'required');
$this->form_validation->set_rules('description', 'Description', 'required');
$this->form_validation->set_rules('price', 'Price', 'required|numeric');
if ($this->form_validation->run() == FALSE) {
$this->load->view('create_tour');
} else {
$data = array(
'package_name' => $this->input->post('package_name'),
'description' => $this->input->post('description'),
'price' => $this->input->post('price')
);
$this->Tour_model->insert_tour($data);
redirect('tour');
}
}
}
3. Views:
สร้างไฟล์
tour_list.php
ในโฟลเดอร์application/views/
:
<!-- tour_list.php -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tour Packages</title>
<link rel="stylesheet" href="<?php echo base_url('assets/css/bootstrap.min.css'); ?>">
</head>
<body>
<div class="container">
<h2>Tour Packages</h2>
<a href="<?php echo site_url('tour/create'); ?>" class="btn btn-primary mb-3">Add New Package</a>
<div class="row">
<?php foreach ($tours as $tour): ?>
<div class="col-md-4">
<div class="card mb-4">
<div class="card-body">
<h5 class="card-title"><?php echo $tour['package_name']; ?></h5>
<p class="card-text"><?php echo $tour['description']; ?></p>
<p class="card-text"><strong>Price: </strong><?php echo $tour['price']; ?></p>
</div>
</div>
</div>
<?php endforeach; ?>
</div>
</div>
<script src="<?php echo base_url('assets/js/bootstrap.bundle.min.js'); ?>"></script>
</body>
</html>
สร้างไฟล์ create_tour.php
ในโฟลเดอร์ application/views/
:
<!-- create_tour.php -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Create Tour Package</title>
<link rel="stylesheet" href="<?php echo base_url('assets/css/bootstrap.min.css'); ?>">
</head>
<body>
<div class="container">
<h2>Create Tour Package</h2>
<?php echo validation_errors(); ?>
<?php echo form_open('tour/create'); ?>
<div class="form-group">
<label for="package_name">Package Name:</label>
<input type="text" class="form-control" id="package_name" name="package_name">
</div>
<div class="form-group">
<label for="description">Description:</label>
<textarea class="form-control" id="description" name="description"></textarea>
</div>
<div class="form-group">
<label for="price">Price:</label>
<input type="text" class="form-control" id="price" name="price">
</div>
<button type="submit" class="btn btn-primary">Create Package</button>
<?php echo form_close(); ?>
</div>
<script src="<?php echo base_url('assets/js/bootstrap.bundle.min.js'); ?>"></script>
</body>
</html>
ขั้นตอนที่ 3: อัปเดตหน้าเว็บเพื่อแสดงรายการแพกเกจทัวร์
คุณสามารถเพิ่มลิงก์ไปยังหน้าแพกเกจทัวร์ในหน้าเว็บหลักของคุณหรือในเมนูนำทางเพื่อให้ผู้ใช้สามารถเข้าถึงได้ง่าย
ตัวอย่างการอัปเดตเมนูใน application/views/booking_form.php
:
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="<?php echo base_url(); ?>">Van Booking</a>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="<?php echo site_url('booking'); ?>">Booking</a>
</li>
<li class="nav-item">
<a class="nav-link" href="<?php echo site_url('tour'); ?>">Tour Packages</a>
</li>
</ul>
</div>
</nav>
ตัวอย่างการอัปเดตเมนูใน application/views/booking_success.php
:
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="<?php echo base_url(); ?>">Van Booking</a>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="<?php echo site_url('booking'); ?>">Booking</a>
</li>
<li class="nav-item">
<a class="nav-link" href="<?php echo site_url('tour'); ?>">Tour Packages</a>
</li>
</ul>
</div>
</nav>
หลังจากเพิ่มลิงก์และไฟล์เหล่านี้แล้ว คุณจะมีหน้าเว็บสำหรับแสดงแพกเกจทัวร์และฟังก์ชันในการสร้างแพกเกจทัวร์ใหม่ในระบบจองรถตู้ของคุณ
ความคิดเห็น
แสดงความคิดเห็น