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

该项目的需求如下:

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


以下是页面的初步设计:

一个PHP小程序_第1张图片

一个PHP小程序_第2张图片

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

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

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


数据库表如下:

一个PHP小程序_第3张图片


创建数据库的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 < $count ; $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);  

    }

 }  

?>


然后就可以访问页面了:

一个PHP小程序_第4张图片

一个PHP小程序_第5张图片


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

一个PHP小程序_第6张图片


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