1. 创建数据库

将mysaeapptest的数据库初始化之后,建立新的数据库,在PHPMyAdmin输入下列SQL。

CREATE TABLE IF NOT EXISTS `ny_diary` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`title` varchar(1000) NOT NULL,
`content` varchar(5000) NOT NULL,
`date` datetime NOT NULL,
`user` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=40 ;

2. 在index.php中输入下列代码。

 <?php
// 连主库
$link=mysql_connect(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS); // 连从库
// $link=mysql_connect(SAE_MYSQL_HOST_S.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS); //echo $key = md5("900821Ny");
?>
<!DOCTYPE html>
<html>
<head>
<title>Simple Message</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" />
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=no"> <style>
a, a:visited, a:hover, a:link, a:active { text-decoration: none; color: #0080FF; }
body { margin: 0; background: #E6E6E6;}
label { width: 68px; display: inline-block; margin: 0 auto; text-align: right; vertical-align: top; }
input { width: 224px; margin: 0;padding: 1px 0; border: 1px solid #ccc; border-radius: 2px; line-height: 20px;}
textarea { width: 220px; height : 50px;}
input[type="submit"] { width: 300px; height: 28px; border: 1px solid #FFF; background: #0080FF; border-radius: 3px; color: #fff; }
.line { margin: 8px 0;}
.wrap { margin: 5px auto; padding: 5px; border-radius: 3px; width: 300px; background: #fff;}
.diary-block { width: 300px; padding: 5px; margin: 5px auto; border-radius: 3px; background: #fff;}
.diary-tit { margin: 0; border-bottom: dashed 1px #ccc; }
.diary-cont { margin: 0; padding: 5px 10px; text-indent: 20px; }
.diary-user { display: inline-block; }
.diary-date { display: inline-block; }
.diary-user, .diary-date { margin: 0 auto; }
.diary-bottom { margin: 0; text-align: right; }
.diary-page-span { text-align: center; vertical-align: middle;background: #fff; display: inline-block; border-radius: 2px; width: 17px; height: 17px; margin: 0 3px; padding: 2px;}
.diary-page-span a { display: block; }
.diary-page-div { width: 300px; height: 25px; margin: 0 auto; overflow-x: scroll; }
</style>
</head>
<body>
<?php
if($_POST) {
// var_dump($_POST);
$key = md5($_POST['nykey']);
$diary = array(
'tit' => $_POST['diarytit'],
'cont' => $_POST['diarycont'],
'date' => date("Y-m-d H:i:s", time()),
'user' => $_POST['name']
);
//echo "ok!";
$insertSQL = "INSERT INTO `app_mysaeapptest`.`ny_diary` (`id`, `title`, `content`, `date`, `user`) VALUES (NULL, '".$diary['tit']."', '".$diary['cont']."', '".$diary['date']."', '".$diary['user']."');";
$result = mysql_query($insertSQL);
} if($link) {
mysql_select_db(SAE_MYSQL_DB,$link);
//your code goes here
//page part
$pageNo = 1;
//echo $_GET['pnum'];
if ($_GET['pnum']) {
$pageNo = $_GET['pnum'];
}
//limit condition id,size
$pageSize = 3;
$diaryId = ($pageNo - 1) * $pageSize;
//total page
$totalSQL = "SELECT COUNT(*) AS `total` FROM `ny_diary`";
$totalRes = mysql_fetch_array(mysql_query($totalSQL));
$totalNum = $totalRes['total'];
// var_dump($totalNum);
if ($totalNum) {
// var_dump($totalNum % $pageSize);
if ($totalNum % $pageSize) {
$page = $totalNum / $pageSize + 1;
} else {
$page = $totalNum / $pageSize;
}
} //select
$selectSQL = "SELECT * FROM `ny_diary` ORDER BY `id` DESC LIMIT {$diaryId},{$pageSize}";
$diaryResource = mysql_query($selectSQL);
//var_dump($diaryResource);
while ( $row = mysql_fetch_array($diaryResource) ) {
//echo '<div class="diary-id">'.$row['id'].'</div>';
echo '<div class="diary-block">';
echo '<div class="diary-tit"><strong>'.$row['title'].'</strong></div>';
echo '<div class="diary-cont">'.$row['content'].'</div>';
echo '<div class="diary-bottom">';
echo '<div class="diary-user"><strong>'.$row['user'].'</strong>@</div>';
echo '<div class="diary-date">'.$row['date'].'</div>';
echo '</div>';
echo '</div>';
}
//page div
echo '<div class="diary-page-div">';
$mid = 0;
for ($i = 1, $j = $page ; $i <= $page ; ++$i, --$j) {
if ($i <= 5 || $j <= 5) {
echo '<span class="diary-page-span"><a href="a.php?pnum='.$i.'" target="_self">'.$i.'</a></span>';
}
if ($i == 5) {
echo '<span class="diary-page-span"><a href="a.php?pnum='.$i.'" target="_self">...</a></span>';
}
}
echo '</div>';
//only if the link var is true can show
?> <div class="wrap">
<form action="" method="post">
<div class="line"><label for="diary-tit">Title</label>
<input id="diary-tit" name="diarytit" type="text" />
</div>
<div class="line">
<label for="ny-key">Name</label>
<input type="text" id="ny-key" name="name"/>
</div>
<div class="line">
<label for="diary-cont">Content</label>
<textarea id="diary-cont" name="diarycont"></textarea>
</div>
<div>
<input type="submit" />
</div>
</form>
</div>
<?php }//$link
?> </body>
</html>

SAE实践——创建简单留言板的更多相关文章

  1. 原生JS实现简单留言板功能

    原生JS实现简单留言板功能,实现技术:css flex,原生JS. 因为主要是为了练手js,所以其中布局上的一些细节并未做处理. <!DOCTYPE html> <html lang ...

  2. Django入门3 简单留言板项目案例及mysql驱动的安装配置

    新建jangostart项目 使用manager.py新建app即单独的应用 创建一个message应用 manage.py@djangostart > startapp message 如果a ...

  3. PHP实现简单留言板

    最近学习了下PHP基础,这里做一个简单的留言板,算是对PHP和MySQL的使用做一个整体的练习吧,不遇到问题总感觉学不到东西. 截图如下: 总结: 1>数据库的简单操作,数据库的增删改查: 2. ...

  4. 2019-10-12,html+php+mysql简单留言板,作业

    php+mysql简易留言板,实现注册,登录,注销,查看留言,删除留言 1,index.html登录页面 代码: <!doctype html> <html> <head ...

  5. SAE实践——创建新应用开启MySQL服务

    1. 创建SAE应用 当创建完成SAE账户之后,即可创建SAE应用.点击创建新应用按钮,创建一个新的SAE 应用 阅读提示信息,等待五秒,点继续创建. 填写应用信息完成创建.可选择PHP5.3和空应用 ...

  6. PHP简单留言板

    <?php header("Content-Type:text/html;charset=utf8"); $filename = "message.txt" ...

  7. vue4——把输入框的内容添加到页面(简单留言板)

    文章地址:https://www.cnblogs.com/sandraryan/ vue最最最简单的demo(记得引入) 实例化一个vue,绑定#app的元素,要渲染的数组arr作为data. 把ar ...

  8. NVelocity 实现简单的留言板

    留言版简单实现 -------------------------------------------------------------------------------------------- ...

  9. 用js做一个简单的留言板效果

    html部分: 1: <!DOCTYPE> 2: <html lang="zh-en"> 3: <head> 4: <title>j ...

随机推荐

  1. 打劫房屋 · House Robber

    [抄题]: 假设你是一个专业的窃贼,准备沿着一条街打劫房屋.每个房子都存放着特定金额的钱.你面临的唯一约束条件是:相邻的房子装着相互联系的防盗系统,且 当相邻的两个房子同一天被打劫时,该系统会自动报警 ...

  2. FineUI学习

    1.无限级菜单绑定 using (DataTable dt = SqlPagerHelper.GetTableByCondition(DefaultConnection.ConnectionStrin ...

  3. python之字符编码的重要思想

    #.保证不乱码的核心法则就是,字符按照什么标准而编码的,就要按照什么标准解码,此处的标准指的就是字符编码 #.在内存中写的所有字符,一视同仁,都是unicode编码,比如我们打开编辑器,输入一个“你” ...

  4. json解析2

    客户端与服务器进行数据交互时,常常需要将数据在服务器端将数据转化成字符串并在客户端对json数据进行解析生成对象.但是用jsonObject和jsonArray解析相对麻烦.利用Gson和阿里的fas ...

  5. curl工具

    在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具. 用法: cu ...

  6. Linux 基础教程 28-nc命令

    nc     nc命名netcat,直译为网络猫.在CentOS 7查看帮助的解释如下所示: ncat - Concatenate and redirect sockets 翻译过来就是可以连接和重定 ...

  7. (最短路 SPFA)Invitation Cards -- poj -- 1511

    链接: http://poj.org/problem?id=1511 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82829#probl ...

  8. (一)JQuery动态加载js的三种方法

    Jquery动态加载js的三种方法如下: 第一种: $.getscript("test.js"); 例如: <script type="text/javascrip ...

  9. Android-Sqlite-OOP方式操作增删改查

    之前写的数据库增删改查,是使用SQL语句来实现的,Google 就为Android开发人员考虑,就算不会SQL语句也能实现增删改查,所以就有了OOP面向对象的增删改查方式 其实这种OOP面向对象的增删 ...

  10. ASP.NET Core2基于RabbitMQ对Web前端实现推送功能

    在我们很多的Web应用中会遇到需要从后端将指定的数据或消息实时推送到前端,通常的做法是前端写个脚本定时到后端获取,或者借助WebSocket技术实现前后端实时通讯.因定时刷新的方法弊端很多(已不再采用 ...