• 小案例:微型博客


    # 初级案例说明

    源码下载

    一、结构如下

    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', '我的博客,可以了吗????我的博客,可以了吗????我的博客,可以了吗????我的博客,可以了吗????我的博客,可以了吗????我的博客,可以了吗????我的博客,可以了吗????我的博客,可以了吗????我的博客,可以了吗????我的博客,可以了吗????');
    我生活的地方,我为何要生活。
  • 相关阅读:
    Java学习开篇
    《我的姐姐》
    世上本无事,庸人自扰之
    这48小时
    补觉
    淡定
    es java api 设置index mapping 报错 mapping source must be pairs of fieldnames and properties definition.
    java mongodb groupby分组查询
    linux 常用命令
    mongodb too many users are authenticated
  • 原文地址:https://www.cnblogs.com/hsd1727728211/p/5330554.html
Copyright © 2020-2023  润新知