ITPub博客

首页 > IT职业 > IT职场 > 一个PHP小程序

一个PHP小程序

IT职场 作者:ybbyic 时间:2021-09-09 09:19:21 0 删除 编辑

由于新公司的项目后台是使用php编写的,所以作为运维必须了解php代码以及后端的一些知识。因此老板让我做一个小项目。

该项目的需求如下:

在主页面中输入文章名和内容,点击“提交”按钮后,会自动跳转到第二个页面,在该页面中显示文章名,以及将内容分句显示。后端连接mysql数据库,所提交的内容都存在mysql数据库中。


以下是页面的初步设计:

图片描述

图片描述

接着,我们来设计数据库。数据库名称是mydb,该库中有两张表,分别是project和project_sentence。

project表中有两个字段,分别是id和name。其中id是主键。

project_sentence表中有三个字段,分别是project_id,sentences和id。其中project_id是主键,id是外键,与project中的主键id相连。


数据库表如下:

图片描述


创建数据库的sql语句如下:

mysql> create table project

    -> (id int PRIMARY KEY AUTO_INCREMENT,

    -> name varchar(15)

    -> );

Query OK, 0 rows affected (0.00 sec)


mysql> create table project_sentence

    -> (project_id int PRIMARY KEY AUTO_INCREMENT,

    -> sentences varchar(255),

    -> id int,

    -> foreign key(id) references project(id) on delete cascade

    -> );

Query OK, 0 rows affected (13.07 sec)


接下来我们就要开始写代码了。这里我们分为四个php文件。分别为提交页面submit.php,显示数据页面xianshi.php,提交数据页面shiyan.php和连接数据库页面MySQL.class.php。


各个页面的源代码如下:


submit.php

输入文章页面


 Project:

 
Context:

 





xianshi.php

显示页面


   

require_once("MySQL.class.php");

$db = new DB_mysql();

$db->db_connect();

$sql = "select p.name,ps.sentences from project p join project_sentence ps on p.id = ps.id";

$rs = $db->query($sql);

$name = null;

if($rs){

while($row = mysql_fetch_array($rs)){

if($name != $row['name']){

$name = $row['name'];

?>

               

                   

               

}else{

?>

               

               

           

}

}

}else{

echo "无数据";

}

?>


Project_name Sentences

                   

                   

                   

                   

               

                   

               


shiyan.php

header("Content-type: text/html; charset=utf-8");

require_once("MySQL.class.php");

$db = new DB_mysql();

$db->db_connect();


$sql="insert into project(name)VALUES('{$_POST[Project]}')";

$db->query($sql);


//获取新插入id

$id = mysql_insert_id();


$content = $_POST['context'];


//替换特殊字符保留原始字符

$content = str_replace(".",".#",$content);

$content = str_replace("?","?#",$content);

$content = str_replace("!","!#",$content);


//分解内容

$str = explode("#",$content);


//获取总数

$count = count($str)-1;


$query = "insert into project_sentence (sentences,id)values";

$items = null;


for($i = 0 ; $i

$items .= "('{$str[$i]}',{$id})".',';

}



$query .= rtrim($items,',');


if($db->query($query)) 

header("location:xianshi.php");

else 

echo "插入失败";

?>



MySQL.class.php

class DB_mysql{

private $db_host = "localhost";  

    private $db_name = "mydb";  

    private $db_user = "root";  

    private $db_pwd  = "yangyue";  

    //连接数据库  

    function db_connect(){

    @mysql_connect($this->db_host,$this->db_user,$this->db_pwd) ? $this->selectdb() : die("服务链接失败"); 

    }

   function selectdb(){  

   

@mysql_select_db($this->db_name) or die("数据库链接失败");

mysql_query("set names utf8");

    }

function query($sql){

    return mysql_query($sql);  

    }

 }  

?>


然后就可以访问页面了:

图片描述

图片描述


为确保数据是保存在数据库中,而不是通过POST或GET方式传递到第二个页面。我们去查看数据库。

至此,该项目完成。下一步需要将代码整合到codeigniter框架中。希望自己可以做到!为自己加油!

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1769/viewspace-2809457/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-04-15

  • 博文量
    88
  • 访问量
    1012