site ecommerce php mvc & pdo الجزء التاسع
فهاد الجزء التاسع من site ecommerce php mvc & pdo غادي ندوزوا لآخر جزء لي هو الجزء الخاص بالأدمن أول حاجة غادي نزيدوا ل controller لي غادي يمكن من عرض les pages الخاصين بالأدمن منبعد غادي نشوفوا كيفاش نعرضوا les produits و les commandes لي عندنا فقاعدة البيانات.
نظرة سريعة بالفيديو
1- إضافة ل AdminController
ف dossier controllers غادي تزيد fichier جديد سميه AdminController.php لي فيه ل fonction :
- index لي غادي تاخذ إسم ل page لي عندنا ف dossier admin لي غادي نزيدو من بعد وتعرضها نفس الحاجة لي سبق ودرنا ف HomeController.
الكود ديال الملف هو :
<?php
class AdminController{
public function index($page){
include('views/admin/'.$page.'.php');
}
}
2- إضافة الملف dashboard.php
ف dossier views زيد dossier admin فيه زيد fichier dashboard.php هذا هو الملف لي غادي يمشيلو الادمن أول مغادي يسجل الدخول ديالو ولي فيه فقط روابط كتدي للملف الخاص بعرض ل produits ول commandes.
ممكن تزيد فيه لي بغيتي ماشي ضروري تدير لي داير أنا.
الكود ديال الملف هو :
<div class="container">
<div class="row my-5">
<div class="col-md-4">
<div class="card p-3 bg-danger">
<div class="card-body">
<h3 class="card-text text-center">
<a href="<?php echo BASE_URL?>products"
style="text-decoration:none;color:white;font-weight:bold">Produits</a>
</h3>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card p-3 bg-primary">
<div class="card-body">
<h3 class="card-text text-center">
<a href="<?php echo BASE_URL?>orders"
style="text-decoration:none;color:white;font-weight:bold">Commandes</a>
</h3>
</div>
</div>
</div>
</div>
</div>
3- إضافة الملف orders.php
دائما ف dossier admin فيه زيد fichier orders.php هذا هو الملف لي غادي نعرضوا فيه les commandes لي سبق وداروا الناس لي زاروا الموقع ديالنا.
les commandes كنعرضهم ف table منبعد مكن exécuter ل fonction getAllOrders لي سبق وزدنا فل controller OrdersController.
ممكن تزيد لي بغيتي فالكود.
الكود ديال الملف هو :
<?php
if(isset($_SESSION['admin']) && $_SESSION['admin'] == true){
$data = new OrdersController();
$orders = $data->getAllOrders();
}else{
Redirect::to("home");
}
?>
<div class="container">
<div class="row my-5">
<div class="col-md-10 mx-auto">
<div class="card bg-light p-3">
<table class="table table-hover table-inverse">
<h3 class="font-weight-bold">Commandes</h3>
<thead>
<tr>
<th>Nom & Prénom</th>
<th>Produit</th>
<th>Quantité</th>
<th>Prix</th>
<th>Total</th>
<th>Effectuée le</th>
</tr>
</thead>
<tbody>
<?php foreach($orders as $order) :?>
<tr>
<td><?php echo $order["fullname"];?></td>
<td><?php echo $order["product"];?></td>
<td><?php echo $order["qte"];?></td>
<td><?php echo $order["price"];?></td>
<td><?php echo $order["total"];?></td>
<td><?php echo $order["done_at"];?></td>
</tr>
<?php endforeach;?>
</tbody>
</table>
</div>
</div>
</div>
</div>
4- إضافة الملف products.php
دائما ف dossier admin فيه زيد fichier products.php هذا هو الملف لي غادي نعرضوا فيه les produits لي عندنا فقاعدة البيانات.
les produits كنعرضهم ف table منبعد مكن exécuter ل fonction getAllProducts لي سبق وزدنا فل controller ProductsController.
عندي أيضا روابط الإضافة والتعديل والحذف لي كيديوني ل les pages لي غادي نزيدو من بعد.
الكود ديال الملف هو :
<?php
if(isset($_SESSION['admin']) && $_SESSION['admin'] == true){
$data = new ProductsController();
$products = $data->getAllProducts();
}else{
Redirect::to("home");
}
?>
<div class="container">
<div class="row my-5">
<div class="col-md-10 mx-auto">
<div class="form-group">
<a href="<?php echo BASE_URL?>addProduct" class="btn btn-primary btn-sm">
Ajouter
</a>
</div>
<form id="form" action="<?php echo BASE_URL?>updateProduct" method="post">
<input type="hidden" name="product_id" id="product_id">
</form>
<form id="delete_form" action="<?php echo BASE_URL?>deleteProduct" method="post">
<input type="hidden" name="delete_product_id" id="delete_product_id">
</form>
<div class="card bg-light p-3">
<table class="table table-hover table-inverse">
<h3 class="font-weight-bold">Produits</h3>
<thead>
<tr>
<th>Libellé</th>
<th>Prix</th>
<th>Quantité</th>
<th>Description</th>
<th>Image</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php foreach($products as $product) :?>
<tr>
<td><?php echo $product["product_title"];?></td>
<td><?php echo $product["product_price"];?></td>
<td><?php echo $product["product_quantity"];?></td>
<td><?php echo substr($product["product_description"],0,100);?></td>
<td>
<img width="50" height="50"
src="./public/uploads/<?php echo $product["product_image"];?>"
alt="" class="img-fluid">
</td>
<td class="d-flex flex-row justify-content-center align-items-center">
<a onclick="submitForm(<?php echo $product['product_id'];?>)" class="btn btn-warning btn-sm mr-1">
Modifier
</a>
<a onclick="deleteForm(<?php echo $product['product_id'];?>)" class="btn btn-danger btn-sm">
Supprimer
</a>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
</div>
</div>
</div>
</div>