<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>reg</title>
</head>
<body >
<h1 align="center" >球员信息维护</h1>
<hr>
<h3 align="center" ><a href="addInfo.php">添加</a></h3>
<div align="center">
<?php
//显示相应操作结果信息
if((!empty($_GET['errno']))&&($_GET['errno']==1)){
echo"添加成功";
}
if((!empty($_GET['errno']))&&($_GET['errno']==2)){
echo"添加失败";
}
if((!empty($_GET['errno']))&&($_GET['errno']==3)){
echo"删除成功";
}
if((!empty($_GET['errno']))&&($_GET['errno']==5)){
echo"修改失败";
}
if((!empty($_GET['errno']))&&($_GET['errno']==4)){
echo"修改成功";
}
?>
</div>
<br>
<?php
$conn=mysql_connect("localhost","root","root");
if (!$conn) {
die("连接失败".mysql_errno());
}
mysql_query("set names utf8",$conn) or die("设字符编码失败".mysql_errno());
mysql_select_db('footballplayerdb',$conn) or die("选择数据库失败".mysql_errno()) ;
$sqlCount="SELECT count(playerid) FROM playerinfo";
$pageSize=5;
$rowCountRes=mysql_query($sqlCount,$conn);
while ($row=mysql_fetch_row($rowCountRes)){
$rowCount=$row[0];
}
$pagecount=ceil($rowCount/$pageSize);
$pageNow=1;
if (!empty($_GET['pageNow'])) {
$pageNow=$_GET['pageNow'];
}
$sql="select playerid,playername,playerpositions,playerteam,playernum from playerinfo limit ".($pageNow-1)*$pageSize." , ".$pageSize;
$res=mysql_query($sql,$conn);
?>
<table width=""><tr align="centeer"><td width="21%"></td></tr></table>
<?php
echo "<table border='1px' width='54%' cellspacing='0' align='center'><tr align='centeer'><td width='12%' align='center'>球员ID</td><td width='12%' align='center' >球员姓名</td><td width='12%' align='center'>球员职责</td><td width='12%' align='center'>所属球队</td><td width='12%' align='center'>球衣号码</td><td width='12%' align='center'>操作</td><td width='12%' align='center'>操作</td></tr>";
while($row=mysql_fetch_assoc($res)){
echo "<tr align='centeer'><td align='center'>{$row['playerid']}</td><td align='center'>{$row['playername']}</td><td align='center'>{$row['playerpositions']}</td><td align='center'>{$row['playerteam']}</td><td align='center'>{$row['playernum']}</td><td align='center'><a href='getInfoForUpdate.php?playerid={$row['playerid']}''>修改</a></td><td align='center'><a href='deleteController.php?playerid={$row['playerid']}'>删除</a></td></tr>";
}
echo "<tr bgcolor='#CCFFFF'><td colspan='7' align='center' bordercolor='#CCFFFF'><a href='showInfo.php?pageNow=1'>首页</a> "; if ($pageNow>1){$pagePre=$pageNow-1; echo "<a href='showInfo.php?pageNow=$pagePre'>上一页</a>" ;}echo " "; if($pageNow<$pagecount){ $pageNext=$pageNow+1; echo "<a href='showInfo.php?pageNow=$pageNext'>下一页</a> "; }echo "<a href='showInfo.php?pageNow=$pagecount'>尾页</a></td></tr>";
echo "</table>";?>
</body>
</html>
**PHP基础与增删改查操作** PHP是一种广泛使用的开源脚本语言,尤其适用于Web开发。初学者在学习PHP时,经常会从简单的增删改查(CRUD)操作开始,这是数据库管理的基础。在这个名为"footballplayermanager"的示例中,我们可以看到一个围绕足球运动员管理的小型应用,涵盖了用户注册、登录以及对运动员数据进行CRUD操作的功能。 1. **注册与登录系统** - 注册功能通常涉及收集用户信息,如用户名、密码(通常需要加密存储)、邮箱等,并将这些信息保存到数据库中。在这个例子中,可能使用了`mysqli`或PDO扩展来连接MySQL数据库,并执行INSERT语句添加新用户。 - 登录过程通常包括验证用户输入的用户名和密码是否与数据库中的记录匹配。这可能涉及到查询数据库并比较密码的哈希值。 2. **数据库操作** - **创建(Create)**: 新增运动员信息时,会执行INSERT SQL语句向运动员表中添加新的记录。这需要构造SQL语句,然后使用PHP的数据库操作函数来执行。 - **读取(Read)**: 显示运动员列表,可能通过SELECT语句从数据库获取所有或部分运动员数据,再用PHP处理并显示在页面上。 - **更新(Update)**: 修改运动员信息时,会先通过ID找到特定运动员,然后使用UPDATE语句更改数据库中的记录。 - **删除(Delete)**: 删除运动员可能涉及SELECT ID确认,然后使用DELETE语句从数据库中移除对应记录。 3. **分页** - 当运动员数量过多时,分页是提高用户体验的重要方式。PHP可以通过LIMIT和OFFSET子句在SELECT语句中实现分页,每次只获取一部分记录,同时提供页码导航链接。 4. **代码结构与优化** - 尽管这个示例代码可能包含冗余且不够优化,但它为初学者提供了理解基本概念的平台。后续学习中,可以了解到MVC(模型-视图-控制器)架构、面向对象编程(OOP)以及预编译语句(如PDO的prepare/execute)等方法,以提高代码的可维护性和安全性。 5. **安全考虑** - 学习过程中应注重SQL注入防护,例如使用预编译语句、参数化查询或者使用`mysqli_real_escape_string`函数来转义用户输入。 - 密码存储时应使用哈希加盐的方式,而不是明文存储,以保护用户信息安全。 6. **最佳实践** - 遵循良好的编程习惯,如注释代码、变量命名清晰、避免全局变量、合理使用函数和类等。 - 应用错误处理和日志记录,以便于调试和问题追踪。 "footballplayermanager"项目为初学者提供了一个实际操作PHP和数据库的平台,从中可以学习到基础的Web开发技巧,同时也提示我们注意代码的优化和安全性。在掌握这些基础知识后,可以进一步探索更复杂的Web框架和现代开发实践,提升自己的技能水平。


























- 1

- #完美解决问题
- #运行顺畅
- #内容详尽
- #全网独家
- #注释完整
- 云南小白2013-11-07得自己研究的补充代码了
- 阿星7772014-07-15不错,结构简单,但是貌似查询的功能不太强!
- qq_376345072017-10-21得自己研究的补充代码了,写的不错
- liyuan128502017-06-26但是5分太高了
- lhbaiya2013-12-17没怎么仔细看,但是5分太高了....

- 粉丝: 0
- 资源: 5
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- Matlab-Matlab资源
- zzrobot_ws-机器人开发资源
- WeUI-Kotlin资源
- lua-5.1.4-15.el7.x64-86.rpm.tar.gz
- 语音质检-实时质检-FreeVoiceQualityControl-AI人工智能资源
- mozjs52-52.9.0-1.el7.x64-86.rpm.tar.gz
- cu-bridge-硬件开发资源
- UMC-移动应用开发资源
- unisrc-单片机开发资源
- ScanConfTool_V2.3(扫描配置工具)
- yudao-ui-admin-vben-Typescript资源
- 基于多传感器融合的轻量化旋转机械故障诊断模型
- java-springboot+vue论坛管理系统毕业设计实现源码(完整前后端+mysql+说明文档+LunW+PPT).zip
- java-springboot+vue旅游管理系统实现源码(完整前后端+mysql+说明文档+LunW+PPT).zip
- java-springboot+vue论坛管理系统实现源码(完整前后端+mysql+说明文档+LunW+PPT).zip
- java-springboot+vue旅游民宿管理平台实现源码(完整前后端+mysql+说明文档+LunW+PPT).zip


