zoukankan      html  css  js  c++  java
  • 小案例:微型博客

    # 初级案例说明

    源码下载

    一、结构如下

    conn.php  为连接数据库文件

    index.php 为首页,也是博客列表页   select * from weibo where $id order by  id desc limit 10;

    edit.php  为编辑页   UPDATE weibo SET `title`='$title',`contents`='$contents' where `id`='$hid'

    del.php   为删除操作页

    add.php   为添加页

    view.php  为详情页

    二、数据库 

      字段说明 id ,hit点击量,title标题,dates日期,contents内容

    CREATE TABLE `weibo` (

      `id` int(5) NOT NULL AUTO_INCREMENT,

      `hit` int(11) NOT NULL,

      `title` varchar(50) NOT NULL,

      `dates` date NOT NULL,

      `contents` text NOT NULL,

      PRIMARY KEY (`id`)

    ) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

    三、注意点:

    1.编辑时候,在表单中使用了隐藏域进行传递id

    2.在搜索的时候巧妙使用了where $w ,

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

       // $w = `title` like $_GET['keys'];

       $w = " `title` like '%" . $_GET ['keys'] . "%' ";  //使用模糊搜索

    }else{

       $w = 1;  //此句代码转换到sql语句中没有实际意义。

                //sql语句为select * from `weibo` where 1 order by id desc limit 10;

    }

    不懂请留言(微信:moka_2024)

    index.php

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>我的微型博客</title>
    </head>
    <body>
    
        <a href="add.php">添加内容</a>
        <hr>
        <form action="" method="get">
            <input type="text" name="keys"> <input type="submit" name="subs" value="搜索">
        </form>
        <hr>
            <?php
            include 'conn.php';
            
            // 搜索时候增加了$w条件,此处借用了 sql语句中where $w order by 原理 跳过了搜索。
            if (! empty ( $_GET ['keys'] )) {
                $w = " `title` like '%" . $_GET ['keys'] . "%' ";
            } else {
                $w = 1;
            }
            
            $sql = "select * from `weibo` where $w order by id desc limit 10";
            $query = mysql_query ( $sql );
            
            while ( $res = mysql_fetch_array ( $query ) ) {
        
            ?>
    
    
        <h2>
            标题:<a href="view.php?id=<?php echo $res['id'];?>"><?php echo $res['title'];?></a>|
            <a href="edit.php?id=<?php echo $res['id'] ?>">编辑</a>|
            <a href="del.php?id=<?php echo $res['id'];?>">删除</a> |
        </h2>
        <p> <?php echo $res['dates']; ?></p>
        <p>内容:<?php echo iconv_substr($res['contents'],0,10,"utf-8"); ?>...</p>
        <hr>
    
        <?php
        }
        
        ?>
    </body>
    </html>

    add.php

    <?php
    include 'conn.php';
    
    if (!empty($_POST['sub'])){
        $title = $_POST['title'];
        $contents = $_POST['contents'];
        $sql = "insert into `weibo` (`id`,`title`,`dates`,`contents`) values (null,'$title',now(),'$contents')";
        mysql_query($sql);
        echo "插入成功";
    }
    
    ?>
    <form action="" method="post">
    标题<input name="title" type="text"><br><br>
    内容<textarea name="contents" rows="5" cols="50"></textarea><br>
    <input type="submit" name="sub" value="发布">
    </form>

    conn.php

    <?php
    header("Content-type:text/html;charset=utf-8");
    
    @mysql_connect("localhost","root","root")or die("连接失败"); //@为了屏蔽错误暴露
    @mysql_select_db("mystudy")or die("db连接失败");
    // mysql_set_charset("utf-8");
    mysql_query("set names 'utf8'");
    
    ?>

    edit.php

    <?php
    include 'conn.php';
    
    //获取原来数据
    if(!empty($_GET['id'])){
        $sql = " SELECT * FROM weibo WHERE `id` = '".$_GET['id']."'";
        $query = mysql_query($sql);
        $res = mysql_fetch_array($query);
    }
    
    //保存更新数据
    if (!empty($_POST['sub'])){
        $hid = $_POST['hid'];
        $title = $_POST['title'];
        $contents = $_POST['contents'];
        $sql = "UPDATE weibo SET `title`='$title',`contents`='$contents' where `id`='$hid' ";
        mysql_query($sql);
        echo "<script> alert('更改成功!');location.href='index.php';</script>";
    }
    
    ?>
    <form action="" method="post">
    <!-- 添加隐藏域来传递需要改变的id -->
    <input type="hidden" name="hid" value="<?php echo $res['id'] ?>">
    标题<input name="title" type="text" value="<?php echo $res['title']; ?>" /><br><br>
    内容<textarea name="contents" rows="5" cols="50"><?php echo $res['contents']; ?></textarea><br>
    <input type="submit" name="sub" value="发布">
    </form>

    del.php

    <?php
    include 'conn.php';
    
    //删除操作
    
    if(!empty($_GET['del'])){
        $d = $_GET['del'];
        $sql = "delete from `weibo` where `id`= '$d' ";
        mysql_query($sql);
        }
        
    
        echo "删除成功!";
    ?>
    <a href="index.php">返回</a>

    view.php

    <?php
    include 'conn.php';
    //查询
    if(!empty($_GET['id'])){
        $sql = " SELECT * FROM weibo WHERE `id` = '".$_GET['id']."'";
        $query = mysql_query($sql);
        $res = mysql_fetch_array($query);
        
        $sqlhit = "UPDATE weibo SET hit=hit+1 WHERE `id` = '".$_GET['id']."' ";
        mysql_query($sqlhit);
    }
    
    ?>
    <h1><?php echo $res['title']?></h1>
    <h2><?php echo $res['dates']?></h2>
    <h3>点击量:<?php echo $res['hit']?></h3>
    <hr>
    <p>
    <?php echo $res['contents'] ?>
    </p>

    mystudy.sql

    /*
    Navicat MySQL Data Transfer
    
    Source Server         : localhost
    Source Server Version : 50540
    Source Host           : localhost:3306
    Source Database       : mystudy
    
    Target Server Type    : MYSQL
    Target Server Version : 50540
    File Encoding         : 65001
    
    Date: 2016-03-27 23:03:12
    */
    
    SET FOREIGN_KEY_CHECKS=0;
    
    -- ----------------------------
    -- Table structure for `myguests`
    -- ----------------------------
    DROP TABLE IF EXISTS `myguests`;
    CREATE TABLE `myguests` (
      `id` int(6) unsigned NOT NULL AUTO_INCREMENT,
      `firstname` varchar(30) NOT NULL,
      `lastname` varchar(30) NOT NULL,
      `email` varchar(50) DEFAULT NULL,
      `reg_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;
    
    -- ----------------------------
    -- Records of myguests
    -- ----------------------------
    INSERT INTO `myguests` VALUES ('1', 'John', 'Doe', 'john@example.com', '2015-07-07 15:26:48');
    INSERT INTO `myguests` VALUES ('2', 'John', 'Doe', 'john@example.com', '2015-07-07 15:27:48');
    INSERT INTO `myguests` VALUES ('3', 'John', 'Doe', 'john@example.com', '2015-07-07 15:27:51');
    INSERT INTO `myguests` VALUES ('4', 'John', 'Doe', 'john@example.com', '2015-07-07 15:28:24');
    INSERT INTO `myguests` VALUES ('5', 'John', 'Doe', 'john@example.com', '2015-07-07 15:28:25');
    INSERT INTO `myguests` VALUES ('6', 'John', 'Doe', 'john@example.com', '2015-07-07 15:28:25');
    INSERT INTO `myguests` VALUES ('7', 'John', 'Doe', 'john@example.com', '2015-07-07 15:28:25');
    INSERT INTO `myguests` VALUES ('8', 'John', 'Doe', 'john@example.com', '2015-07-07 15:28:37');
    INSERT INTO `myguests` VALUES ('9', 'John', 'Doe', 'john@example.com', '2015-07-07 15:28:37');
    INSERT INTO `myguests` VALUES ('10', 'John', 'Doe', 'john@example.com', '2015-07-07 15:28:37');
    INSERT INTO `myguests` VALUES ('11', 'John', 'Doe', 'john@example.com', '2015-07-07 15:28:37');
    INSERT INTO `myguests` VALUES ('12', 'John', 'Doe', 'john@example.com', '2015-07-07 15:28:37');
    INSERT INTO `myguests` VALUES ('13', 'John', 'Doe', 'john@example.com', '2015-07-07 15:29:05');
    
    -- ----------------------------
    -- Table structure for `weibo`
    -- ----------------------------
    DROP TABLE IF EXISTS `weibo`;
    CREATE TABLE `weibo` (
      `id` int(5) NOT NULL AUTO_INCREMENT,
      `hit` int(11) NOT NULL,
      `title` varchar(50) NOT NULL,
      `dates` date NOT NULL,
      `contents` text NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
    
    -- ----------------------------
    -- Records of weibo
    -- ----------------------------
    INSERT INTO `weibo` VALUES ('1', '0', 'dddd', '2016-03-24', 'eeeee');
    INSERT INTO `weibo` VALUES ('2', '4', '为什么这么慢', '2016-03-24', '为啥这么慢?我也想知道原因。为啥这么慢?我也想知道原因。为啥这么慢?我也想知道原因。为啥这么慢?我也想知道原因。为啥这么慢?我也想知道原因。为啥这么慢?我也想知道原因。为啥这么慢?我也想知道原因。为啥这么慢?我也想知道原因。为啥这么慢?我也想知道原因。为啥这么慢?我也想知道原因。');
    INSERT INTO `weibo` VALUES ('3', '0', '测试修改', '2016-03-24', '你做到了。。');
    INSERT INTO `weibo` VALUES ('5', '0', '我的博客', '2016-03-27', '我的博客,可以了吗????我的博客,可以了吗????我的博客,可以了吗????我的博客,可以了吗????我的博客,可以了吗????我的博客,可以了吗????我的博客,可以了吗????我的博客,可以了吗????我的博客,可以了吗????我的博客,可以了吗????');
    我生活的地方,我为何要生活。
  • 相关阅读:
    《Python入门》学习笔记(2)
    《Python入门》学习笔记(1)
    《基于华为云DevCloud的托马斯商城》的学习笔记
    国内外云测平台
    优秀程序员&优秀架构师需要具备的能力和特质
    jira插件-xray、zephyr、synapseRT测试管理试用反馈
    Json文件转换为Excel文件!涉及读文件,时间戳转化,写文档
    客户端与服务端通信的交互模式
    traceroute和tracert区别
    mysql: navicat for mysql 执行快捷键
  • 原文地址:https://www.cnblogs.com/hsd1727728211/p/5330554.html
Copyright © 2011-2022 走看看