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 ...
随机推荐
- Linux之RPM GPG签名
原文地址:http://linux.chinaunix.net/techdoc/system/2007/09/26/968723.shtml GPG在Linux上的应用主要是实现官方发布的包的签名机制 ...
- php从数组中取出一段 之 array_slice
array array_slice ( array $array , int $offset [, int $length [, bool $preserve_keys ]] ) array_slic ...
- git忽略某个文件
data/config/config.ini.php
- [Training Video - 5] [Groovy Script Test Step - Collections, Exceptions] Array and ArrayList
Array: def x = new String[5] x[0] = "India" x[1] = "USA" x[2] = "Korea" ...
- Android应用程序的基本组件介绍
1.Activity和View Activity是Android应用中负责与用户交互的组件,它只能通过setContentView(View)来显示指定组件. View组件是所有UI控件.容器空间的基 ...
- 如何用Python实现常见机器学习算法-1
最近在GitHub上学习了有关python实现常见机器学习算法 目录 一.线性回归 1.代价函数 2.梯度下降算法 3.均值归一化 4.最终运行结果 5.使用scikit-learn库中的线性模型实现 ...
- jquery怎么根据后台传过来的值动态设置下拉框、单选框选中
$(function(){ var sex=$("#sex").val(); var marriageStatus=$("#marriageStatus").v ...
- Spring3.x错误----java.lang.ClassNotFoundException:org.aopalliance.inter.MethodInterceptor
Spring3.x错误: 解决方法: 发现MethodInterceptor确实不存在,发现少了个jar包,aopalliance-1.0.jar 参考: http://blog.csdn.net/s ...
- vue 使用axios 数据请求第三方插件的使用
axios 基于http客户端的promise,面向浏览器和nodejs 特色 浏览器端发起XMLHttpRequests请求 node端发起http请求 支持Promise API 监听请求和返回 ...
- 企业搜索引擎开发之连接器connector(二十五)
下面开始具体分析连接器是怎么与连接器实例交互的,这里主要是分析连接器怎么从连接器实例获取数据的(前面文章有涉及基于http协议与连接器的xml格式的交互,连接器对连接器实例的设置都是通过配置文件操作的 ...