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,使用使用fetcha​ssoc()方法得到每一行的数据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、 页面效果图:页面进行了简单的分页效果

第一页·:

第二页

倒数第二页

最后一页: