一,微型博客的开发思路

微型博客的创建,确定无疑我们会用到PHP和mysql之间的增添删改查,首先来看一下思维导图:

搭建好计算机里的apache php 和mysql的联动功能,打开phpmyadmin,创建一个数据库(phplearn),在这个数据库里创建一个数据表(news)。

二,开发所需的各个项目

1,公共模板(conn.php)

<?php

  @mysql_connect("localhost","root","")or die("mysql连接失败");

  @mysql_select_db("phplearn")or die("db连接失败");

  //@mysql_set_charset("gdk");

  mysql_query("set names 'gbk'");

?>

上边用到了mysql及具体数据库的连接,分别用到了mysql_connect和mysql_select_db这两个函数,分别用来连接mysql和数据库phplearn。

mysql_set_charset用于指定数据库编码,mysql_query是数据库sql语句执行函数,可直接在括号内写sql语句。

值得注意的是“@”符号,它用于屏蔽mysql报错时的提示,避免用户体验不友好及安全性方面的考虑。

die(),该函数用于数据库连接失败时给与错误提示。

2, 添加博文页add.php

<?php

include(conn.php);

 if(!empty($_POST['sub'])){

  $title=$_POST[‘title’];

  $con=$_POST[‘con’];

  $sql="insert into 'news' ('id','title','dates','contents') values (null,'$title',now(),'$con');

  mysql_query($sql);

  echo "<script>alert('添加成功');location.href='index.php';</script>"

  }

?>

<div class="con">

<form action="add.php" method="post">

标题<input type"text" name="title"><br/>

内容<textarea rows='5' cols='50' name='con'></textarea><br/>

<input type=‘submit’ name='sub' value='发表'>

</form>

</div>

include(conn.php)调用指定文件;

empty()判断值是否为空;

$_post获取表单post提交方式的值;

insert into‘表名’ (‘字段1’,‘字段2’,‘字段3’,‘字段4’.。。。)values(‘值1’,‘值2’,‘值3’,‘值4’.。。。),

sql插入语句;

location.href="",js页面跳转。

3,首页index.php

<div class="nav">

<button><a href="add.php">发博文</a></button>

<from action="" method="get">

<input type="text" name="keys" />

<input type="submit" name="subs" value="搜索" />

</form>

</div>

<?php

include("conn.php");

if (!empty($_GET[keys])){

  $w= 'title' like '%"._GET[keys]."%'";

} else[$w=1;}

$sql="select * from 'news' where $w order by id desc limit 10";

$query=mysql_query($sql);

while(mysql_fetch_array($querry)){

?>

<div class="main">

<h1>

<a href="view.php?id= <?php $rs['id'] ?>"><?php echo $rs['title'] ?></a>

</h1>

<p><?php echo $rs['contents'] ?></p>

<span><?php echo $rs['dates'] ?></span>

<p class="oper">

<a href="edit.php?id= <?php $rs['id']?>">编辑</a>

<a href="del.php?id= <?php $rs['id'] ?>">删除</a>

</p>

</div>

<?php

}

?>

select * from '表名' [where] [order] [limit], sql 查询语句。

$_GET表单get提交方式,不同于post,是用于查询,运行效率高,但安全性较差。

mysql_fetch_array(),将数据库资源类型转换为数组。

4,删除博文页del.php

<?php

include("conn.php");

if(!empty($_GET['del'])){

$d=$_GET['del'],;

$sql="delete from 'news' where 'id'='$d'";

mysql_query($sql);

echo "<scripr>alert('删除成功'); localtion.herf='index.php';</script>";

}

?>

delete from '表名' [where]...,删除sql语句。

}  

?>

5,修改博文页面edit.php

<?php

  include("conn.php");

  if(!empty($_GET['id'])){

  $id=$_GET['id'];

  $sql="select * from 'news' where 'id'=['$id']";

  $query=mysql_query('$sql');

  $rs=mysql_fetch_array($query);

}

  if(!empty($_POST['hid'])){

  $title=$_POST['title'];

  $con=$_POST['contents'];

  $hid=$_POST['hid'];

  $sql="update 'news' set 'title'='$title' 'contents'='$con' where 'id'='$hid' limit 1"

  echo "<script> alert ('更新成功'); location.href='index.php';</script>"

}

?>

<div class="con">

<form action="edit.php" method="post">

<input type="hiden" name="hid" value="<?php echo $rs['id'] ?>">

标题<input type="text" name="title" value="<?php echo $rs['title'] ?>">

内容<textarea rows="5" cols="50" name="con"><?php echo $rs['contents'] ?></textarea><br/>

<input type="submit" name="sub" value="发表">

</form>

</div>

更新指定id的数据,需要获取对应指定id,因此需要设置指定id以供调取。

6,博文页内容view.php

<div class='nav'>

<button><a href="index.php">回到主页</a></button>

</div>

<?php

  include("conn.php");

  

  if(!empty($_GET['id'])){

  $sql="select * from 'news' where 'id'='".$_GET['id']"'";

  $query=mysql_query($sql);

  $rs=mysql_fetch_array($query);

  $sqlup="update 'news' set hits=hits+1 where 'id'='"._GET['id']."'";

  mysql_query($sqlup);

}  

?>

<div class="main">

<h1><?php echo $rs['title'] ?></h1>

<span><?php echo $rs['date'] ?></span>

<span>点击量; <?php echo $rs['hits']></span>

</hr>

</p>

</div>```

  

php之微型博客的创建的更多相关文章

  1. 使用 Laravel 实现微型博客系统

    参考链接:An Introduction to Laravel Authorization Gates 这个微型博客系统包含两个用户角色(作者 和 编辑),它们的权限如下: 作者能创建博客 作者能更新 ...

  2. 用 Flask 来写个轻博客 (1) — 创建项目

    目录 目录 前言 扩展阅读 部署开发环境 创建 Github 项目 前言 一步一步的实现一个 Flask 轻博客项目启动,最新的代码会上传到 Github. 扩展阅读 欢迎使用 Flask - vir ...

  3. PHP学习之[第09讲]PHP 的 Mysql 数据库函数 (微型博客系统)

    一.数据库函数: mysql_connect(数据库地址,用户名,密码) mysql_select_db(数据库名) mysql_set_chartset(‘编码’) //PHP5.2.3以后的函数 ...

  4. PHP学习之[第10讲]PHP 的 Mysql 数据库函数 (微型博客系统)II

    mysql结构如下: -- phpMyAdmin SQL Dump -- version 4.4.1.1 -- http://www.phpmyadmin.net -- -- Host: localh ...

  5. 利用PHP/MYSQL实现的简易微型博客(转)

    数据库:ly_php_base 表:ly_micro_blog(仅仅有一个表)字段:id,title,date,content,hits 文件: 文件 描述 default.php 默认主页.显示博文 ...

  6. 从无到有开发自己的Wordpress博客主题---创建主题

    上一篇教程,我们已经安装了Wordpress,我们可以成功的登录到Wordpress后台,接下来的任务就是创建我们自己的主题. 要想创建一个Wordpress主题,就必须按照Wordpress的规则, ...

  7. 在 Windows Azure 网站上使用 Django、Python 和 MySQL:创建博客应用程序

    编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Sunitha Muthukrishna 撰写. 根据您编写的应用程序,Windows Azure 网站上的基本Python 堆 ...

  8. 用 Flask 来写个轻博客 (11) — M(V)C_创建视图函数

    目录 目录 前文列表 视图函数 在 viewspy 文件中定义视图函数 定义右侧边栏的视图函数 为每一张数据表定义视图函数 前文列表 用 Flask 来写个轻博客 (1) - 创建项目 用 Flask ...

  9. 用 Flask 来写个轻博客 (4) — (M)VC_创建数据模型和表

    目录 目录 前文列表 扩展阅读 定义数据模型 models 创建表 前文列表 用 Flask 来写个轻博客 (1) - 创建项目 用 Flask 来写个轻博客 (2) - Hello World! 用 ...

随机推荐

  1. Java软件编码规范要求

    1.一个类对应一个文件,文件名与类名保持一致 虽然一个“.java”源文件可以有多个类(不是内部类),但是不提倡那么写.

  2. iOS设计模式 - 桥接

    iOS设计模式 - 桥接 示意图 说明 1. 桥接模式为把抽象层次结构从实现中分离出来,使其可以独立变更,抽象层定义了供客户端使用的上层抽象接口,实现层次结构定义了供抽象层次使用的底层接口,实现类的引 ...

  3. 导入自定义模块model

    编写m2.py,脚本内容如下: #!/usr/bin/python # -*- coding: utf-8 -*- 'its a module test' __author__ = 'mm' impo ...

  4. .NET Reflector注册问题

    reflector工具不错, 终于8.x了,也可以注册了,但是不小心注册成standard版本了,但vs中无法使用,于是各种删注册表,后来找到何英涛的解决方案 下面介绍一个Reflector很坑的一个 ...

  5. iOS 滑动比较

    对iOS手机进行滑动操作进行总结:1.mobile:scroll向下滚动整个屏幕driver.execute_script('mobile: scroll', {'direction': 'down' ...

  6. Tomcat服务时区设置

    tomcat服务不设置时间,会自动取系统时间,根据项目部署服务器位置不同时间会有差别,统一设置tomcat服务集群时间为东八区时间,具体设置如下: 在tomcat目录的bin文件夹下,找到文件cata ...

  7. oracle-记录

    同時查新多个条件的数量 select sum(DECODE(trim(t.ASSESSED_RESULT),'维持',1,0)) maintainNum, sum(DECODE(trim(t.ASSE ...

  8. cogs 2355. [HZOI 2015] 有标号的DAG计数 II

    题目分析 来自2013年王迪的论文<浅谈容斥原理> 设\(f_{n,S}\)表示n个节点,入度为0的点集恰好为S的方案数. 设\(g_{n,S}\)表示n个节点,入度为0的点集至少为S的方 ...

  9. 2、Dubbo-核心概念

    dubbo核心概念 2.1).简介 Apache Dubbo (incubating) |ˈdʌbəʊ| 是一款高性能.轻量级的开源Java RPC框架, 它提供了三大核心能力:面向接口的远程方法调用 ...

  10. Kali-linux Gerix Wifi Cracker破解无线网络

    Gerix Wifi Cracker是另一个aircrack图形用户界面的无线网络破解工具.本节将介绍使用该工具破解无线网络及创建假的接入点. 9.3.1 Gerix破解WEP加密的无线网络 在前面介 ...