hướng dẫn lấy danh sách sản phẩm từ database với php và tạo hiệu ứng mua hàng với css3
Khi các bạn xây dựng một website bán hàng trực tuyến chẳng hạn, phần nội dung trang chủ của các bạn phải thể hiện được danh sách các sản phẩm.
- Trong danh sách này, về mặt hình thức, các bạn có thể bố trí các sản phẩm sắp xếp theo dạng bảng, sử dụng các định dạng CSS để trông đẹp mắt.
- Tiếp đến là phần nội dung, các bạn sử dụng ngôn ngữ để load trực tiếp dữ liệu từ cơ sở dữ liệu MySQL.
Vì thế, ở ví dụ này, chúng ta sẽ xây dựng một trang chủ đơn giản với dữ liệu động load từ cơ sở dữ liệu, kết hợp với CSS3 tạo giao diện thân thiện người dùng.
Giao diện sẽ xây dựng:
Trước khi thực hiện, yêu cầu:
- Cài đặt chương trình Xampp để sử dụng ngôn ngữ PHP và MySQL.
- Tạo một thư mục gốc danhsachsanpham với các thành phần sau:
Trong thư mục images, copy 4 hình sản phẩm và đặt tên lần lượt là: 1.png, 2.png, 3.png, 4.png.
Khi mọi thứ sẵn sàng, các bạn làm theo các bước sau:
Bước 1: Vào phpmyadmin, tạo cơ sở dữ liệu tên là quanlybanhang với cấu trúc bảng sanpham như sau:
Sau đó, chèn 4 sản phẩm vào bảng:
Bước 2: Tạo các file css để định dạng danh sách và hiển thị hiệu ứng:
- demo.css
@importurl('reset.css');/* General Demo Style */body{background:#f9f9f9url(../images/white_texture.jpg)repeattopleft;color:#333;font-family:'Oswald',Arial,sans-serif;font-size:13px;}.container{position:relative;}a{color:#fff;text-decoration:none;}.clr{clear:both;}.main{position:relative;width:680px;margin:0auto;}h1{margin:0px;padding:20px20px10px20px;font-size:34px;color:#333;text-shadow:1px1px1px#fff;text-align:left;font-weight:400;text-align:center;}h1span{display:block;font-size:14px;font-family: Georgia,serif;font-style:italic;color:#b2891b;padding-top:10px;}/* Header Style */.header{font-family:'Arial Narrow',Arial,sans-serif;line-height:24px;font-size:11px;background:#000;opacity:0.9;text-transform:uppercase;z-index:9999;position:relative;-moz-box-shadow:1px0px2px#000;-webkit-box-shadow:1px0px2px#000;box-shadow:1px0px2px#000;}.header a{padding:0px10px;letter-spacing:1px;color:#ddd;display:block;float:left;}.header a:hover{color:#fff;}.header span.right{float:right;}.header span.righta{float:none;display:inline;}.more{position:relative;clear:both;font-family:'Arial Narrow',Arial,sans-serif;text-transform:uppercase;font-size:11px;padding:5px0px10px;width:540px;margin:0auto;}.more ul{display:block;text-align:center;height:30px;}.more ul li{display:block;padding:4px2px;float:left;}.more ul li.selected a,.more ul li.selected a:hover{background:#b2891b;color:#fff;text-shadow:none;}.more ul li a{color:#555;float:left;background:#fff;width:40px;padding:2px5px;-moz-box-shadow:1px1px2px#aaa;-webkit-box-shadow:1px1px2px#aaa;box-shadow:1px1px2px#aaa;}.more ul li a:hover{background:#000;color:#fff;}- style_common.css:
.view {width:300px;height:200px;margin:10px;float:left;border:10pxsolid#fff;overflow:hidden;position:relative;text-align:center;-webkit-box-shadow:1px1px2px#e6e6e6;-moz-box-shadow:1px1px2px#e6e6e6;box-shadow:1px1px2px#e6e6e6;cursor:default;background:#fffurl(../images/bgimg.jpg)no-repeatcentercenter;}.view .mask,.view .content {width:300px;height:200px;position:absolute;overflow:hidden;top:0;left:0;}.view img {display:block;position:relative;}.view h2{text-transform:uppercase;color:#fff;text-align:center;position:relative;font-size:17px;padding:10px;background:rgba(0,0,0,0.8);margin:20px000;}.view p {font-family: Georgia,serif;font-style:italic;font-size:12px;position:relative;color:#fff;padding:10px20px20px;text-align:center;}.view a.info {display:inline-block;text-decoration:none;padding:7px14px;background:#000;color:#fff;text-transform:uppercase;-webkit-box-shadow:001px#000;-moz-box-shadow:001px#000;box-shadow:001px#000;}.view a.info: hover {-webkit-box-shadow:005px#000;-moz-box-shadow:005px#000;box-shadow:005px#000;}- style1.css
.view-first img {-webkit-transition:all0.2slinear;-moz-transition:all0.2slinear;-o-transition:all0.2slinear;-ms-transition:all0.2slinear;transition:all0.2slinear;}.view-first .mask {-ms-filter:"progid: DXImageTransform.Microsoft.Alpha(Opacity=0)";filter: alpha(opacity=0);opacity:0;background-color:rgba(219,127,8,0.7);-webkit-transition:all0.4s ease-in-out;-moz-transition:all0.4s ease-in-out;-o-transition:all0.4s ease-in-out;-ms-transition:all0.4s ease-in-out;transition:all0.4s ease-in-out;}.view-first h2{-webkit-transform:translateY(-100px);-moz-transform:translateY(-100px);-o-transform:translateY(-100px);-ms-transform:translateY(-100px);transform:translateY(-100px);-ms-filter:"progid: DXImageTransform.Microsoft.Alpha(Opacity=0)";filter: alpha(opacity=0);opacity:0;-webkit-transition:all0.2s ease-in-out;-moz-transition:all0.2s ease-in-out;-o-transition:all0.2s ease-in-out;-ms-transition:all0.2s ease-in-out;transition:all0.2s ease-in-out;}.view-first p {-webkit-transform:translateY(100px);-moz-transform:translateY(100px);-o-transform:translateY(100px);-ms-transform:translateY(100px);transform:translateY(100px);-ms-filter:"progid: DXImageTransform.Microsoft.Alpha(Opacity=0)";filter: alpha(opacity=0);opacity:0;-webkit-transition:all0.2slinear;-moz-transition:all0.2slinear;-o-transition:all0.2slinear;-ms-transition:all0.2slinear;transition:all0.2slinear;}.view-first:hover img {-webkit-transform:scale(1.1,1.1);-moz-transform:scale(1.1,1.1);-o-transform:scale(1.1,1.1);-ms-transform:scale(1.1,1.1);transform:scale(1.1,1.1);}.view-first a.info {-ms-filter:"progid: DXImageTransform.Microsoft.Alpha(Opacity=0)";filter: alpha(opacity=0);opacity:0;-webkit-transition:all0.2s ease-in-out;-moz-transition:all0.2s ease-in-out;-o-transition:all0.2s ease-in-out;-ms-transition:all0.2s ease-in-out;transition:all0.2s ease-in-out;}.view-first:hover .mask {-ms-filter:"progid: DXImageTransform.Microsoft.Alpha(Opacity=100)";filter: alpha(opacity=100);opacity:1;}.view-first:hover h2,.view-first:hover p,.view-first:hover a.info {-ms-filter:"progid: DXImageTransform.Microsoft.Alpha(Opacity=100)";filter: alpha(opacity=100);opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-o-transform:translateY(0px);-ms-transform:translateY(0px);transform:translateY(0px);}.view-first:hover p {-webkit-transition-delay:0.1s;-moz-transition-delay:0.1s;-o-transition-delay:0.1s;-ms-transition-delay:0.1s;transition-delay:0.1s;}.view-first:hover a.info {-webkit-transition-delay:0.2s;-moz-transition-delay:0.2s;-o-transition-delay:0.2s;-ms-transition-delay:0.2s;transition-delay:0.2s;}Bước 3: Tạo file kết nối với cơ sở dữ liệu- dbconnect.php
<!--?php$connect= mysql_connect("localhost","root","")ordie("Không kết nối được với MYSQL"); mysql_select_db("quanlybanhang",$connect)ordie("Không tìm thấy cơ sở dữ liệu"); mysql_query("SET NAMES utf8"); ?-->
Bước 4: Tạo trang index<!DOCTYPE html><html><head><title>Danh sách sản phẩm</title><meta charset="UTF-8"/><link rel="stylesheet"type="text/css"href="css/demo.css"/><link rel="stylesheet"type="text/css"href="css/style_common.css"/><link rel="stylesheet"type="text/css"href="css/style1.css"/></head><body><divclass="container"><divclass="main"><?phpinclude("dbconnect.php");$rs= mysql_query("select * from sanpham");while($row= mysql_fetch_array($rs)){ ?><divclass="view view-first"><img src="images/<?php echo $row['hinhanh']; ?>"/><divclass="mask"><h2><?phpecho$row['tensanpham']; ?></h2><?phpecho$row['mota']; ?><a href="#"class="info">MUA HÀNG</a></div></div><?php } ?></div></div></body></html>




Nhận xét
Đăng nhận xét