最近几天,我们一直在学习利用MySQLi访问数据库并对其中的数据进行操作。今天给大家展现一个完整的例子,我们来制作一个新闻发布系统,利用MySQLi来操作数据库,实现对新闻的添加、修改、删除、查询等基本功能。(以下代码分为前端显示和后台php处理代码,中间用空行隔开,注意区分)
1、登陆页面:这由本公司内部人员通过员工号和身份证号才能登陆,代码如下:
//前端显示部分
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head>
<body> <h2>管理员登陆</h2> <form action="dlyz.php" method="post"> <div>用户名:<input type="text" name="user" value="请输入您的工号" /></div> <br /> <div>密 码:<input type="password" name="psd" /></div> <br /> <input type="submit" value="登录" /> <input type="submit" value="注册新用户" formaction="zhuc.php"/> </form> </body> </html>
//php代码对提交登陆的信息进行处理
<?php
$user = $_POST["user"]; $psd = $_POST["psd"];
//造对象 $db = new MySQLi("localhost","root","","newssystem");
//判断是否出错 !mysqli_connect_error() or die("连接失败!!");
//写sql语句
$sql = "select psd from yonghu where user='{$user}'";
//执行SQL语句
$result = $db-> query($sql); $v = $result->fetch_row(); if($psd==$v[0]) { header("location:fabuxinwen.php"); } else { echo"您输入的用户名或密码不正确,请重新输入!!"; }
2、注册页面:公司/报社来了新员工,只有注册后才能登陆
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head>
<body> <h2>欢迎注册</h2> <body>
<form action="zhucyz.php"method="post"> <div>用户名:<input type="text" name="user" value="请输入您的工号"/></div><br />
<div>密 码:<input type="password" name="psd" /></div><br />
<input type="submit" value="提交" /> </form>
</body> </html>
<?php $user = $_POST["user"]; $psd = $_POST["psd"];
//造对象 $db = new MySQLi("localhost","root","","newssystem");
//判断是否出错 !mysqli_connect_error() or die("连接失败!!");
//写sql语句
$sql = "insert into yonghu values('{$user}','{$psd}')";
//执行SQL语句
$result = $db-> query($sql);
if($result) { header("location:dl.php"); } else { echo"很抱歉,注册失败!!"; }
3、登陆进去以后,是发布新闻页面,点击提交按钮进行提交保存到已经建立好的数据库,点击查看按钮进行查看确认
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head>
<body> <div style="width:100%; text-align:center" > <h2>发布新闻</h2> <form method="post"> <input type="hidden" name="newsid"/> <table style="margin:0 auto; text-align:left" > <tr> <td >标题:</td><td><input type="text" style="width:400px" name="title" /></td> </tr> <tr> <td >作者: </td><td><input type="text" style="width:400px" name="Author" /></td> </tr> <tr> <td >来源:</td><td><input type="text" style="width:400px" name="source"/></td> </tr> <tr> <td >内容:</td> <td><textarea cols="auto" rows="auto" style="width:400px; height:400px" name="content"></textarea></td> </tr>
</table><br /> <?php $time = date('y-m-d h:i:s');
echo "<input type=\"hidden\" name=\"time\" value=\"{$time}\"/>"; ?>
<input type="submit" value="提交" formaction="tijiao.php"/>
<input type="submit" value="查看" formaction="chakan.php"/> </form> </div> </body> </html>
<?php $title = $_POST["title"]; $Author = $_POST["Author"]; $source = $_POST["source"]; $content = $_POST["content"];
//造对象 $db = new MySQLi("localhost","root","","newssystem");
//判断是否出错 !mysqli_connect_error() or die("添加失败!!");
//写sql语句
$sql = "insert into news(title,Author,source,content) values('{$title}','{$Author}','{$source}','{$content}')";
//执行SQL语句
$result = $db-> query($sql);
if($result) { header("location:fabuxinwen.php"); } else { echo"很抱歉,添加失败!!"; }
4、查看页面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head>
<body> <table width="70%" border="1px" cellpadding="0" cellspacing="0" style="text-align:center"> <tr> <td>编号</td> <td>标题</td> <td>作者</td> <td>来源</td> <td>日期</td> <td>删除</td> <td>修改</td>
</tr>
<?php $db=new mysqli("localhost","root","","newssystem"); !mysqli_connect_error() or die("连接错误"); $sql="select * from news"; $result=$db->query($sql); while($attr=$result->fetch_row()) { echo " <tr> <td>{$attr[0]}</td> <td>{$attr[1]}</td> <td>{$attr[2]}</td> <td>{$attr[3]}</td> <td>{$attr[5]}</td> <td><a onclick=\" return confirm('确定删除')\" href='scchuli.php?newsid={$attr[0]}'>删除</a></td> <td><a href='xiugai.php?newsid={$attr[0]}'>修改</a></td> </tr> "; }
?> </table> </body> </html>
5、在查看页面可以进行相关内容的修改和删除
//修改:在点击修改按钮后,会跳转到修改页面,此时会显示出之前已经发布的内容、标题等相关内容
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head>
<body> <?php $id = $_GET["newsid"];
$db=new mysqli("localhost","root","","newssystem"); !mysqli_connect_error() or die("连接错误"); $sql="select * from news where newsid='{$id}'"; $result=$db->query($sql); $attr=$result->fetch_row(); ?> <div style="width:100%; text-align:center" > <h2>修改新闻</h2> <form action="xgchuli.php" method="post"> <input type="hidden" name="newsid" <?php echo "value='{$attr[0]}'";?>/> <table style="margin:0 auto; text-align:left" > <tr> <td >标题:</td><td><input type="text" style="width:400px" name="title" <?php echo "value='{$attr[1]}'";?>/></td> </tr> <tr> <td >作者: </td><td><input type="text" style="width:400px" name="Author" <?php echo "value='{$attr[2]}'";?>/> </td> </tr> <tr> <td >来源:</td><td><input type="text" style="width:400px" name="source" <?php echo "value='{$attr[3]}'";?>/> </td> </tr> <tr> <td >内容:</td> <td><textarea cols="auto" rows="auto" style="width:400px; height:400px" name="content"><?php echo "{$attr[4]}";?> </textarea></td> </tr>
</table><br /> <?php $time = date('y-m-d h:i:s');
echo "<input type=\"hidden\" name=\"time\" value=\"{$time}\"/>"; ?>
<div><a href="chakan.php"><input type="button" title="查看" value="查看" /></a><input type="submit" title="修改" value="修改"/> </div>
</form>
</body> </html>
<?php
$id=$_POST["newsid"]; $title=$_POST["title"]; $Author=$_POST["Author"]; $source=$_POST["source"]; $content=$_POST["content"]; $time=$_POST["time"];
$db = new MySQLi("localhost","root","","newssystem");
!mysqli_connect_error() or die("连接失败");
$sql="update news set title='{$title}',Author='{$Author}',source='{$source}',content='{$content}',time='{$time}' where newsid='{$id}' ";
$result=$db->query($sql); if ($result) { header("location:chakan.php"); } else { echo "修改失败"; }
//删除:如果要删除一条新闻,在点击删除按钮之后,不会跳转到任何前台显示页面,只会在后台通过php代码进行相关处理
<?php $id=$_GET["newsid"];
$db=new mysqli("localhost","root","","newssystem");
!mysqli_connect_error() or die("连接失败");
$sql="delete from news where newsid='{$id}'";
$result=$db->query($sql);
if ($result) { header("location:chakan.php"); } else { echo "删除失败"; }
6、修改完成之后,点击页面下方的修改按钮进行提交,在这里也不会有相关的前端显示页面,只是在后台利用相关php代码进行相应处理,成功后返回发布新闻页面
<?php $title = $_POST["title"]; $Author = $_POST["Author"]; $source = $_POST["source"]; $content = $_POST["content"];
//造对象 $db = new MySQLi("localhost","root","","newssystem");
//判断是否出错 !mysqli_connect_error() or die("添加失败!!");
//写sql语句
$sql = "insert into news(title,Author,source,content) values('{$title}','{$Author}','{$source}','{$content}')";
//执行SQL语句
$result = $db-> query($sql);
if($result) { header("location:fabuxinwen.php"); } else { echo"很抱歉,添加失败!!"; }
|
请发表评论