SAE实践——创建简单留言板
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实践——创建简单留言板的更多相关文章
- 原生JS实现简单留言板功能
原生JS实现简单留言板功能,实现技术:css flex,原生JS. 因为主要是为了练手js,所以其中布局上的一些细节并未做处理. <!DOCTYPE html> <html lang ...
- Django入门3 简单留言板项目案例及mysql驱动的安装配置
新建jangostart项目 使用manager.py新建app即单独的应用 创建一个message应用 manage.py@djangostart > startapp message 如果a ...
- PHP实现简单留言板
最近学习了下PHP基础,这里做一个简单的留言板,算是对PHP和MySQL的使用做一个整体的练习吧,不遇到问题总感觉学不到东西. 截图如下: 总结: 1>数据库的简单操作,数据库的增删改查: 2. ...
- 2019-10-12,html+php+mysql简单留言板,作业
php+mysql简易留言板,实现注册,登录,注销,查看留言,删除留言 1,index.html登录页面 代码: <!doctype html> <html> <head ...
- SAE实践——创建新应用开启MySQL服务
1. 创建SAE应用 当创建完成SAE账户之后,即可创建SAE应用.点击创建新应用按钮,创建一个新的SAE 应用 阅读提示信息,等待五秒,点继续创建. 填写应用信息完成创建.可选择PHP5.3和空应用 ...
- PHP简单留言板
<?php header("Content-Type:text/html;charset=utf8"); $filename = "message.txt" ...
- vue4——把输入框的内容添加到页面(简单留言板)
文章地址:https://www.cnblogs.com/sandraryan/ vue最最最简单的demo(记得引入) 实例化一个vue,绑定#app的元素,要渲染的数组arr作为data. 把ar ...
- NVelocity 实现简单的留言板
留言版简单实现 -------------------------------------------------------------------------------------------- ...
- 用js做一个简单的留言板效果
html部分: 1: <!DOCTYPE> 2: <html lang="zh-en"> 3: <head> 4: <title>j ...
随机推荐
- Unity5-CacheServer(资源平台切换之缓存服务器)的部署与使用
不管你是个人还是团队,如果你的资源很多, 而且经常切换平台, 那你试试这个吧~~兼职爽爆了,秒秒钟实现平台间的转换. cache server主要用于资源修改后的自动重新导入功能,保证所见即所得,方便 ...
- Django基础学习六之渲染
今天简单的介绍一下Django的template的渲染和Django的template的基本的语法 首先我们先启动一个django的shell,首先需要进入django的工程目录下启动django的s ...
- socket的protocal参数
Documentation for socket() on Linux is split between various manpages including ip(7) that specifies ...
- CiteSpace安装使用简介
一.简介 CiteSpaceⅡ基于JAVA平台的信息可视化软,是美国Drexel大学陈超美(Chaomei Chen)教授开发的,用于文献引文网络分析的信息,作为文献计量学方面最先进的分析工具之一,是 ...
- 初次使用Xcode遇到的问题及解决方法
使用的是Xcode 5.1.1 版本 1.调整字体 点击左上角的Xcode->Preference->Font & colors .需要注意到是,只有选择下图中黑色框框里面的一行 ...
- cmake get_filename_component
get_filename_component Get a specific component of a full filename. get_filename_component(<VAR&g ...
- [Tools]SurveyMonkey
做问卷调查,推荐一个好工具,免费的 SurveyMonkey : it's free, quick & easy! https://www.surveymonkey.com/
- [转]Android Parcelable和Serializable的区别
本文主要介绍Parcelable和Serializable的作用.效率.区别及选择,关于Serializable的介绍见Java 序列化的高级认识. 1.作用 Serializable的作用是为了保存 ...
- Linux的磁盘分区(一)
磁道:track 扇区:sector 磁头:head 柱面:cylinder 每个扇区,512字节 每个磁道划分为63个扇区 逻辑磁头(盘面)数设为255 一个柱面的大小 =255 * 63 * 51 ...
- oracle 11g 创建普通用户
CREATE USER xiaoming IDENTIFIED by xm123123 GRANT CREATE SESSION TO xiaoming; GRANT RESOURCE TO xiao ...