用PHP读取MyAQL表单中全部数据并将数据整理翻页
要注意的是我们的PHP是嵌入在html中的
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
<style type="text/css">
</style>
</head>
<body>
</body>
<script>
</script>
</html>
首先在php中写入链接
$conn = mysql_connect("localhost","root","") or die("链接数据库失败"); mysql_select_db("fg19");// 选择数据库 fg19为数据库名 mysql_query("set names ‘utf8‘"); // 中文编码
可以将它另写在一个php文件中,然后通过 include()或者require()连接数据库文件
include("conn.php");
// conn.php 是连接的php文件名
require("conn.php");
// conn.php 是连接的php文件名
include()和require()的区别在于:
- require()包含的文件名不存在或者路径有问题时,会报错,并终止代码执行。
- include()包含的文件名不存在或者路径有问题时,只会警告或报错,不会终止代码的执行。
接着我们要在mySQL数据库创建一个表单并插入数据,因为要进行翻页,所以尽量插入多条数据,然后在php中,通过以下代码读取表中所有数据,
<?php
$conn =
mysql_connect("localhost","root","") or die("链接数据库失败");
mysql_select_db("fg19");
mysql_query("set names ‘utf8‘");
$sql = "select * from moves";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)){ // 把结果集转换成的数组赋给$rwo,如果有数据就是真,没有为假
?>
<?=$row[‘id‘] ?>
<?=$row[‘stuName‘] ?> <!-- 这里两条是得到表中一行的数据 stuname为表单中一行数据的名称-->
<?php
}
?>
为了打印出表中每一条数据我们必须用while循环输出,为了使打印出的表单美观,我们可以用table
<?php
$conn =
mysql_connect("localhost","root","") or die("链接数据库失败");
mysql_select_db("fg19");
mysql_query("set names
‘utf8‘");
$sql = "select * from moves";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)){
?> <table cellpadding="1" cellspacing="1"> <tr style="background-color: #9ec4ff"> <td>序号</td> <td>电影名称</td> <td>主演</td> <td>类型</td> <td>操作</td> </tr> <tr> <td><?php echo $row[‘id‘] ?></td> <td> <a href="texta.php?id=<?php echo $row[‘id‘] ?>"> <?php echo $row[‘move_name‘] ?> </a> </td> <td><?php echo $row[‘actor‘] ?></td> <td> <?php echo swiftType($row[‘type‘]); ?> </td> <td><a href="">删除</a> </td> </tr> <br/> </table>
<?php } ?>
并使其隔行换色,隔行换色可以用css或者css+js或者php都可以 这里我们采用js代码如下
<script> // 隔行换色 function changeColor(){ var trs = document.getElementsByTagName("tr"); for(var i=0;i<trs.length;i++){ if( i%2 == 0){ trs[i].style.background="#cad9ea"; } } } window.onload=changeColor; </script>
注意:为了不影响代码的执行,js一般写在html末。
接下来是数据的翻页,我们可以先做一个数据统计,统计一共有几条数据,然后在计算有几页,再来进行数据翻页。以下代码是一个计算
$page = ""; if(@$_GET[‘page‘]){ $page = $_GET[‘page‘]; }else{ $page = 1; } $pageSize = 5;// 显示几条数据 $sum = ($page-1)*$pageSize; //从第几条数据开始,这里是一个计算 $sql = "select * from moves limit $sum,$pageSize";// limit 从第几条数据开始 显示几条数据 $result = mysql_query($sql) or die(mysql_error());
$sql1 = "select * from moves";// 得到表单中中所有数据 $result1 = mysql_query($sql1) or die(mysql_error()); $count = mysql_num_rows($result1);
在html中加入代码
<span>共有<?php echo $count ?> 部电影</span> <span>共有<?php $totalPage = $count % $pageSize == 0 ? intval($count / $pageSize) : intval($count / $pageSize) + 1; echo $totalPage; ?> 页</span> <a href="text.php?page=<?php echo $page-1 ?>">上一页</a> <?php for($i=1;$i<=$totalPage;$i++){ ?> <a href="text.php?page=<?php echo $i ?>"><?php echo $i ?></a> <?php } ?> <a href="text.php?page=<?php if($page >= $totalPage){echo $totalPage;}else{echo $page+1;} ?>">下一页</a>
以下是完成代码,但需要Mysql数据同步
<html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/> <style type="text/css"> tr td{ width: 150px; height: 30px; } /*css3隔行换色*/ /*tr:nth-child(odd){*/ /*background: #cad9ea;*/ /*}*/ </style> </head> <body> <?php $conn = mysql_connect("localhost","root","") or die("链接数据库失败"); mysql_select_db("fg19"); mysql_query("set names ‘utf8‘"); $page = ""; if(@$_GET[‘page‘]){ $page = $_GET[‘page‘]; }else{ $page = 1; } $pageSize = 5;// 显示几条数据 $sum = ($page-1)*$pageSize; //从第几条数据开始,这里是一个计算 $sql = "select * from moves limit $sum,$pageSize";//limit 从第几条数据开始 显示几条数据 $result = mysql_query($sql) or die(mysql_error()); $sql1 = "select * from moves";// 得到表单中所有数据 $result1 = mysql_query($sql1) or die(mysql_error()); // $count = mysql_num_rows($result1); $n=0; function swiftType($type){ $t = ""; switch($type){ case 1: $t = "玄幻"; break; case 2: $t = "青春"; break; case 3: $t = "警匪"; break; case 4: $t = "喜剧"; break; case 5: $t = "恐怖"; break; } return $t; } // 循环输出表单数据 while($row = mysql_fetch_array($result)){ ?> <table cellpadding="1" cellspacing="1"> <tr style="background-color: #9ec4ff"> <td>序号</td> <td>电影名称</td> <td>主演</td> <td>类型</td> <td>操作</td> </tr> <tr> <td><?php echo $row[‘id‘] ?></td> <td> <a href="texta.php?id=<?php echo $row[‘id‘] ?>"> <?php echo $row[‘move_name‘] ?> </a> </td> <td><?php echo $row[‘actor‘] ?></td> <td> <?php echo swiftType($row[‘type‘]); ?> </td> <td><a href="">删除</a> </td> </tr> <br/> </table> <?php $n++; } mysql_close($conn); ?> <!-- 数据统计和翻页 --> <span>共有<?php echo $count ?> 部电影</span> <span>共有<?php $totalPage = $count % $pageSize == 0 ? intval($count / $pageSize) : intval($count / $pageSize) + 1; echo $totalPage; ?> 页</span> <a href="text.php?page=<?php echo $page-1 ?>">上一页</a> <?php for($i=1;$i<=$totalPage;$i++){ ?> <a href="text.php?page=<?php echo $i ?>"><?php echo $i ?></a> <?php } ?> <a href="text.php?page=<?php if($page >= $totalPage){echo $totalPage;}else{echo $page+1;} ?>">下一页</a> <br/> </body> <script> // 隔行换色 function changeColor(){ var trs = document.getElementsByTagName("tr"); for(var i=0;i<trs.length;i++){ if( i%2 == 0){ trs[i].style.background="#cad9ea"; } } } window.onload=changeColor; </script> </html>
以下是数据库数据信息,数据库为 fg19 ,表名为 moves
插入的数据
(以上数据信息乱入,请无视!)