PHP và MySQL – CRUD bảng orders

Thêm order mới

Câu lệnh SQL

INSERT INTO USERS(ID, EMAIL, PASSWORD, ROLE) VALUES(null, ?, ?, ?)

Thực thi

require_once './core/mysql.php';
$pdo = get_pdo();

//Insert order
function insert_order($code, $status, $user_id){
    $sql = "INSERT INTO ORDERS(ID, CODE, STATUS, USER_ID) VALUES(NULL, :code, :status, :user_id)";
    global $pdo;
    $stmt = $pdo->prepare($sql);
   
    $stmt->bindParam(':code', $code);
    $stmt->bindParam(':status', $status);
    $stmt->bindParam(':user_id', $user_id);

    $stmt->execute();
}

Cập nhật order

Câu lệnh SQL

UPDATE ORDERS SET code = ?, status = ?, user_id = ?, created_at = ? WHERE id = ?

Thực thi

function update_order($code, $status, $user_id, $id){
    $sql = "UPDATE ORDERS SET CODE=:code, STATUS=:status WHERE ID=:id";
    global $pdo;
    $stmt = $pdo->prepare($sql);
    
    $stmt->bindParam(':code', $code);
    $stmt->bindParam(':status', $status);
    $stmt->bindParam(':user_id', $user_id);
    $stmt->bindParam(':id', $id);

   
    $stmt->bindParam(':code', $code);
    $stmt->bindParam(':status', $status);
    $stmt->bindParam(':id', $id);

    $stmt->execute();
}

Xoá order

Câu lệnh SQL

DELETE FROM ORDERS WHERE ID = ?

Thực thi

function delete_order($id){
    $sql = "DELETE FROM ORDERS WHERE ID=:id";
    global $pdo;
    $stmt = $pdo->prepare($sql);
    
    $stmt->bindParam(':id', $id);

    $stmt->execute();
}

Tìm kiếm order theo id

Câu lệnh SQL

SELECT * FROM ORDERS WHERE ID = ?

Thực thi

function get_order($id){
    $sql = "SELECT * FROM ORDERS WHERE ID=:id";
    global $pdo;
    $stmt = $pdo->prepare($sql);
    
    $stmt->bindParam(':id', $id);
    $stmt->execute();
    $stmt->setFetchMode(PDO::FETCH_ASSOC); 
     
    // Lấy danh sách kết quả
    $result = $stmt->fetchAll();
     
    // Lặp kết quả
    foreach ($result as $row){
        return array(
            'id' => $row['id'],
            'code' => $row['code'],
            'status' => $row['status'],
            'user_id' => $row['user_id'],
        );
    }

    return null;
}

Lấy toàn bộ orders

Câu lệnh SQL

SELECT * FROM ORDERS

Thực thi

function get_all_orders(){
    $sql = "SELECT * FROM ORDERS";
    global $pdo;
    $stmt = $pdo->prepare($sql);
    

    $stmt->execute();
    $stmt->setFetchMode(PDO::FETCH_ASSOC); 
     
    // Lấy danh sách kết quả
    $result = $stmt->fetchAll();
     
    // Lặp kết quả
    $order_list = [];

    foreach ($result as $row){
        array_push($order_list, array(
            'id' => $row['id'],
            'code' => $row['code'],
            'status' => $row['status'],
            'user_id' => $row['user_id'],
        ));
    }

    return $order_list;
}

Tìm kiếm order theo user

Câu lệnh SQL

SELECT * FROM ORDERS WHERE user_id = ?

Thực thi

function get_order_by_user($user_id){
    $sql = "SELECT * FROM ORDERS WHERE USER_ID=:user_id";
    global $pdo;
    $stmt = $pdo->prepare($sql);
    
    $stmt->bindParam(':user_id', $user_id);
    $stmt->execute();
    $stmt->setFetchMode(PDO::FETCH_ASSOC); 
     
    // Lấy danh sách kết quả
    $result = $stmt->fetchAll();
     
    // Lặp kết quả
    foreach ($result as $row){
        return array(
            'id' => $row['id'],
            'code' => $row['code'],
            'status' => $row['status'],
            'user_id' => $row['user_id'],
        );
    }

    return null;
}

Tìm kiếm order theo status

Câu lệnh SQL

SELECT * FROM ORDERS WHERE STATUS = ?

Thực thi

function get_order_by_status($status){
    $sql = "SELECT * FROM ORDERS WHERE STATUS=:status";
    global $pdo;
    $stmt = $pdo->prepare($sql);
    
    $stmt->bindParam(':status', $status);
    $stmt->execute();
    $stmt->setFetchMode(PDO::FETCH_ASSOC); 
     
    // Lấy danh sách kết quả
    $result = $stmt->fetchAll();
     
    // Lặp kết quả
    foreach ($result as $row){
        return array(
            'id' => $row['id'],
            'code' => $row['code'],
            'status' => $row['status'],
            'user_id' => $row['user_id'],
        );
    }

    return null;
}

Tìm kiếm order theo code

Câu lệnh SQL

SELECT * FROM ORDERS WHERE CODE = ?

Thực thi

function get_order_by_code($code){
    $sql = "SELECT * FROM ORDERS WHERE CODE=:code";
    global $pdo;
    $stmt = $pdo->prepare($sql);
    
    $stmt->bindParam(':code', $code);
    $stmt->execute();
    $stmt->setFetchMode(PDO::FETCH_ASSOC); 
     
    // Lấy danh sách kết quả
    $result = $stmt->fetchAll();
     
    // Lặp kết quả
    foreach ($result as $row){
        return array(
            'id' => $row['id'],
            'code' => $row['code'],
            'status' => $row['status'],
            'user_id' => $row['user_id'],
        );
    }

    return null;
}

Tính số lượng order theo ngày

Câu lệnh SQL

SELECT COUNT(*) AS count FROM orders where date(created_at)=:date

Thực thi

function count_order_by_day($date){
    $sql = "SELECT COUNT(*) AS count FROM orders where date(created_at)=:date";
    global $pdo;
    $stmt = $pdo->prepare($sql);
   
    $stmt->bindParam(':date', $date);

    $resul = $stmt->execute();
    foreach ($result as $row){
        return $row['count'];
    }
}