PHP简单学生信息查询设计及制作

PHP简单学生信息查询设计及制作

(新人制作 请多多指教)

数据库的设计:

在这里插入图片描述
在这里插入图片描述

1、 html页面的编写(index.html):

首先进行html页面的框架搭建,使用表格table、tr、th、td标签来进行表格的编写,使用colgroup、col来设置每一列的宽度。
实现奇数行与偶数行显示不同的背景颜色有两种方式:
1、 使用css样式的奇偶选择器 bth-child(even/odd)even奇数 odd偶数.
奇偶的实现

2、 使用php代码写出读取数据时进行奇偶判断。添加不同的类名来实现。
在这里插入图片描述
在这里插入图片描述
下面展示一些 内联代码片

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<style type="text/css">
		a {text-decoration: none;padding: 0 4px;color: #000;}
		a:hover{color: #005500;}
		a.active{color: #ff0852;}
		.h30 {height: 30px;overflow: hidden;}
		.tabBox {min-height: 464px;}
		.tab {border: 1px solid #000;margin: 0 auto;}
		.tab tr th {height: 40px;background: #FFFFFF;border: 1px solid #b0b2b7;}
		.tab tr td{height: 30px;border: 1px solid #b0b2b7;text-align: center;vertical-align: middle;padding: 5px 10px;}
		.tab tr:nth-child(even) {background: #e8e8bf;}
		.tab tr:nth-child(odd) {background: #ffffcb;}
		.tab tr:hover {background: #FFFFFF;}
		.page {text-align: center;padding: 10px;}
		.page span {margin: 0 4px;font-size: 14px;text-align: center;}
	</style>
	<body>
		<div class="h30"></div>
		<div class="" style="width: 622px;margin: 150px auto 0;">
			<a href="insert.html" style="text-align: right;display:block;padding: 5px;">添加</a>
		</div>
		<div class="tabBox">
			<table class="tab" cellspacing="0" cellpadding="0">
				<colgroup>
					<col width="50px">
					<col width="75px">
					<col width="150px">
					<col width="80px">
					<col width="200px">
					<col width="140px">
				</colgroup>
				<tr>
					<th>行号</th>
					<th>编号</th>
					<th>学号</th>
					<th>姓名</th>
					<th>时间</th>
					<th>编辑</th>
				</tr>
				<?php foreach($stus as $key => $v){?>
				<?php echo "<tr>";?>
				<?php echo "<td>".($key+1)."</td>";?>
				<?php echo "<td>".$v['id']."</td>";?>
				<?php echo "<td>".$v['number']."</td>";?>
				<?php echo "<td>".$v['name']."</td>";?>
				<?php echo "<td>".$v['time']."</td>";?>
				<?php echo "<td><a href='edit.php?id=".$v['id']."'>编辑</a>|<a href='delete.php?id=".$v['id']."' οnclick=\"return confirm('确定删除么?')\">删除</a></td>";?>
				<?php echo "</tr>";?>
				<?php }?>
			</table>
		</div>
		<div class="page">
			<?php include_once('page.php');changePage();?>
		</div>
	</body>
</html>

2、 php后台代码的编写(database.php):

一、 数据的链接:
在这里插入图片描述

首先定义好mysql数据的用户名 密码 需要链接的数据库名称以及数据库的ip地址或者域名,使用mysqli_connect(主机,用户名,密码,数据库名)方法获得链接。
分别封装两个方法分别是获取数据库链接getMysql_connect()和关闭链接my_close();
下面展示一些 内联代码片

<?php 
header("Content-Type: text/html;charset=utf-8");
function getMysql_connect(){
	$servername = "localhost";
	$username = "root";
	$password = "123456";
	$dbname = "test";
	// 创建连接
	$con = mysqli_connect($servername,$username,$password,$dbname);
	$con->query("set names utf8"); 
	if ($con->connect_error) {
	    die("could not connect to the db:\n" .$con->connect_error);
	}
	return $con;
}
function my_close($conn){
	mysqli_close($conn);
};
?>

二、 进行数据的查询(index.php):
在这里插入图片描述

下面展示一些 内联代码片

<?php 
header("Content-Type: text/html;charset=utf-8");
$page=(int)(isset($_GET['page']) ? $_GET['page']:0);
include_once('database.php');
$con=getMysql_connect();
$d=10;
if($page!=0){
	$page=($page-1)*$d;
}
$sql = "SELECT id,number,name,time FROM student order by id asc limit ".$page.",".$d;
$result = $con->query($sql);
$stus=[];
while($row = $result->fetch_assoc()) {
	$stu=[];
	$stu["id"]=$row["id"];
	$stu["number"]=$row["number"];
	$stu["name"]=$row["name"];
	$stu["time"]=$row["time"];
	$stus[]=$stu;
    }
my_close($con);
include_once('index.html');
?>

首先设置字符编码为utf-8防止网页显示乱码问题。引入database.php文件,调用getMysql_connect()获得数据库链接,接下来进行数据库查询语句的编写:
SELECT id,number,name,time FROM student order by asc limit 0,10;
order by asc 降序
limit 0,10 从第0行位置开始查询10条数据。

将student表中数据进行降序排序 接着查询表的id,number,name,time的字段值 每次只查询10行。使用query()方法进行查询操作,得到返回的资源 r e s u l t ,使用使用 f e t c h a s s o c ( ) 方法得到每一行的数据 result,使用使用fetch_assoc()方法得到每一行的数据 result,使用使用fetchassoc()方法得到每一行的数据row,然后把每一行数据存入$stus[]数组当中。

三、 进行数据页面的显示:
在index.php页面中包含写好的静态网页index.html;把$stus[]学生信息数组传到页面。
在html页面使用foreach来遍历stus[]里的学生信息,并取出学生信息在页面上打印显示。

四、 分页文件

<?php 
header("Content-Type: text/html;charset=utf-8");
function changePage($a=10){
	$d=$a;
include_once('database.php');
$c=getMysql_connect();
$sql = "select count(*) from student";
$result= $c->query($sql);
$row=$result->fetch_assoc();
$count=$row['count(*)'];
my_close($c);
$pages=(int)($count/$d)+1;
echo "<div></div>";
$thpage=(int)(isset($_GET['page']) ? $_GET['page']:0);
if($thpage>1){
		echo "<a href='index.php?page=".($thpage-1)."' >上一页</a>";
	}
for($i=1;$i<=(int)$pages;$i++){
		echo "<a class='".($thpage==$i ? 'active':'')."' href='index.php?page=".$i."' >".$i."页</a>";
}
if($thpage<$pages-1){
		echo "<a href='index.php?page=".($thpage+1)."' >下一页</a>";
	}
echo "<br>";
echo "<span>总共:".((int)$pages+1)."页</span>|<span>当前:第".$thpage."页</span>";
}
?>

3、 页面效果图:页面进行了简单的分页效果

第一页·:
在这里插入图片描述
第二页
在这里插入图片描述
倒数第二页
在这里插入图片描述
最后一页:
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值