刚学了几天的PHP,然后刚好有个后台管理的项目要做,抱着学php的目的,便打算用php开始写。后台就是对几张表进行增删查改操作。
一开始先从简单的下手,有一张学生信息表,得到里面的各个信息,并显示在页面上。先写了一个dao.php文件,里面有一个数据库连接的方法。因为要显示在页面上,所以采用在php代码中混合html代码的方式。用while循环,将得到的所有数据依次输出到页面上。因为学生信息较多,所以在主页面上只显示主要的信息,然后有个链接,按下之后跳到一个界面显示该学生的具体所有信息。
一开始不知道怎么去解决这个链接的问题,后来想到用get的方式来链接:即写一个a标签的超链接,链接到具体信息界面,并在URL后面添加id=<?php echo $id>的代码,然后在具体信息界面得到这个id,并且再次查询数据库,得到该id对应的详细信息,并输出到页面。
//得到基本信息并輸出到界面
function getStudentList(){$i=0;$con=getConn();$sql ="select * from personinfo ";$result=$con->query($sql);if ($result->num_rows > 0) {echo "<a href='newStudent.php'>新增学生</a><br>";echo "<a href='../index.html'>返回</a>";while($row = $result->fetch_assoc() ) {$i++;$id=$row['id'];$name=$row["Name"];$class=$row["Class"];$userId=$row["userId"];$sex=$row["Sex"];$phone=$row["PhoneNumber"];$buttonId="button".$i;?><html>
<body>
<form>
ID:<a><?php echo $id?></a>
班级:<input id="class" type="text" value=<?php echo $class ?> >
姓名:<input id="name" type="text" style="width:100px" value=<?php echo $name ?>>
学号:<input type="userId" style="width:100px" value=<?php echo $userId ?>>
性別:<input type="sex" style="width:25px"value=<?php echo $sex ?>>
联系方式:<input type="phone" style="width:100px" value=<?php echo $phone ?>>
<a href="studentDetailsConfirm.php?id=<?php echo $id ?>">详细信息</a>
</form>
</body></html><?php }}
}
这里需要注意的是,在连接数据库的时候,如果数据库里有中文的数据,需要对数据库,显示的页面及php,数据库之间的连接都设置编码格式。
$con =new mysqli($host, $user, $password, $database);mysqli_set_charset ($con,'utf8');
学生信息详细显示的页面也是同理,在php中嵌套入html代码即可。
还有一个功能是修改学生信息,代码大致与显示详细信息的页面代码相同,只是在显示信息页面用p标签或者a标签,而在修改学生信息页面用的是textarea或者input框。需要在dao.php中写一个修改学生信息的方法,修改完成提交表单后,调用该方法,然后将页面直接通过JS代码或者php的header($string)方法跳转。这里需要注意的是,如果用header方法,在该方法前不能有输出语句,会失效。
echo "<script>alert('修改成功');location.href='studentDetailsConfirm.php?id=".$frontid."';</script>";
这样就将页面跳转到修改后的学生信息页面。
这样,项目中的一个小小模块就完成了。其他页面也是大致相同的方法。