我做的留言板
时间:2006-05-29 来源:gqgl
上礼拜接到一个练习作业,要求是做一个留言板。我从没有做过任何一个成型的PHP程序(一般就是hello word这样的东西),所以我是一个初学者。
根据我的了解留言板有以下几个部分组成:
一。文字提交:这部分主要是将输入的文字提交给处理他的php程序。
二。连接数据库:数据库的连接和调用。
三。格式和分页输出:这部分是将数据库中的资料提取出来以后,以一定的格式输出出来。
我来介绍一下我的留言板,他很简单期待各位高手给以指点。
我建立了一个表(数据库系统是mysql),表内有两个字段一个是message类型是varchar;一个是message_date类型是datetime;
创建的语句是:
CREATE TABLE message (
message varchar(200),
message_date datetime()
);
这是一个很简单的数据库表。
我将程序分为两个文件,一个是显示留言并有文本框输入提交功能的,另一个是对数据库写入的。
下面我就逐段介绍一下我的代码:message.php下面的代码是文本框输入部分
相信这段代码大家都能知道,这是一个文本框和一个按钮用途是将输入的文字提交给db.php这个处理文件。
这个是db.php
Region successfully inserted";
header ('Location: message.php');
}
else
echo error;
?>
$message=$_POST['textarea'];
这段代码的意识是将message.php提交上来的文本读出来并保存在$message这个变量里。if(!($connection = mysql_connect("localhost","root","123654")))
die("Could not connect to database");
这段代码是连接数据库的mysql_connect内的参数localhost是指本机,root是用户名,123654是密码。如果连接失败则显示Could not connect to database。if(!mysql_select_db("test", $connection))
echo error_connect;
是使用连接对象$connection来连接test数据库。$upmessage="INSERT INTO message VALUES("."\" " . $message . "\", "."now()".");";if((@mysql_query($upmessage, $connection))&& @ mysql_affected_rows() == 1)
{
header ('Location: message.php');
}
else
echo error;
$upmessage是要写入数据库时使用的SQL语句。mysql_query是将SQL语句输入到mysql的函数,mysql_affected_rows()使用来验证是否对mysql数据库进行了修改。这两个函数都成功的时候将执行header('Location: message.php');这句话的意识是跳转到message.php。
当返回到message.php时该页面就将在数据库中读取纪录。
下面我将介绍一下message.php中的读取部分:
message;
?>
message_date;
?>
";
echo "共有".$pages."页(".$page."/".$pages.")";
for ($i=1;$i[".$i ."] ";
echo "[".$page."]";
for ($i=$page+1;$i[".$i ."] ";
echo "";
?>
if(!($connection = mysql_connect("localhost","root","123654")))
die("Could not connect to database");
if(!mysql_select_db("test", $connection))
echo error_connect;
这段代码与前面的作用相同就是连接数据库和test数据库。
$rs=mysql_query("select count(*) from message",$connection);
$myrow = mysql_fetch_array($rs);
$pagesize=5;
$numrows=$myrow[0];
$pages=intval($numrows/$pagesize);
if ($numrows%$pagesize)
$pages++;
这段代码是用来计算分页显示中一共有多少页。$rs=mysql_query("select count(*) from message",$connection);
的作用是计算message表中一共有多少条记录的结果集并将这些纪录付给$rs。用mysql_fetch_array($rs);得到一个$myrow的数组,这个数组中保存着message中一共有多少条记录。$numrows=$myrow[0];将数字取出。
$pages=intval($numrows/$pagesize);
if ($numrows%$pagesize)
$pages++;这里计算出最大的页数是多少。
if (isset($_GET['page'])){
$page=intval($_GET['page']);
}
else{
$page=1;
}
$offset=$pagesize*($page - 1);
这段代码是用来计算数据库查询时需要的偏移量。
$rs=mysql_query("select * from message ORDER BY message_date DESC limit $offset,$pagesize",$connection);
?>
message;
?>
message_date;
?>
查询出结果并以特定的形势输出
while ($myrow = mysql_fetch_array($rs));
echo "";
echo "共有".$pages."页(".$page."/".$pages.")";
for ($i=1;$i[".$i ."] ";
echo "[".$page."]";
for ($i=$page+1;$i[".$i ."] ";
echo "";
?>
这段代码是用来分页的用for循环来改变page的值因为改变了page所以数据库查询所需的偏移量也就改变了。
以上是我做的留言板的代码解释,因为本人也是一个菜鸟所以极有可能有说错的地方还请各位网友见谅。并且欢迎提出宝贵意见
根据我的了解留言板有以下几个部分组成:
一。文字提交:这部分主要是将输入的文字提交给处理他的php程序。
二。连接数据库:数据库的连接和调用。
三。格式和分页输出:这部分是将数据库中的资料提取出来以后,以一定的格式输出出来。
我来介绍一下我的留言板,他很简单期待各位高手给以指点。
我建立了一个表(数据库系统是mysql),表内有两个字段一个是message类型是varchar;一个是message_date类型是datetime;
创建的语句是:
CREATE TABLE message (
message varchar(200),
message_date datetime()
);
这是一个很简单的数据库表。
我将程序分为两个文件,一个是显示留言并有文本框输入提交功能的,另一个是对数据库写入的。
下面我就逐段介绍一下我的代码:message.php下面的代码是文本框输入部分
相信这段代码大家都能知道,这是一个文本框和一个按钮用途是将输入的文字提交给db.php这个处理文件。
这个是db.php
Region successfully inserted";
header ('Location: message.php');
}
else
echo error;
?>
$message=$_POST['textarea'];
这段代码的意识是将message.php提交上来的文本读出来并保存在$message这个变量里。if(!($connection = mysql_connect("localhost","root","123654")))
die("Could not connect to database");
这段代码是连接数据库的mysql_connect内的参数localhost是指本机,root是用户名,123654是密码。如果连接失败则显示Could not connect to database。if(!mysql_select_db("test", $connection))
echo error_connect;
是使用连接对象$connection来连接test数据库。$upmessage="INSERT INTO message VALUES("."\" " . $message . "\", "."now()".");";if((@mysql_query($upmessage, $connection))&& @ mysql_affected_rows() == 1)
{
header ('Location: message.php');
}
else
echo error;
$upmessage是要写入数据库时使用的SQL语句。mysql_query是将SQL语句输入到mysql的函数,mysql_affected_rows()使用来验证是否对mysql数据库进行了修改。这两个函数都成功的时候将执行header('Location: message.php');这句话的意识是跳转到message.php。
当返回到message.php时该页面就将在数据库中读取纪录。
下面我将介绍一下message.php中的读取部分:
message;
?>
message_date;
?>
";
echo "共有".$pages."页(".$page."/".$pages.")";
for ($i=1;$i[".$i ."] ";
echo "[".$page."]";
for ($i=$page+1;$i[".$i ."] ";
echo "";
?>
if(!($connection = mysql_connect("localhost","root","123654")))
die("Could not connect to database");
if(!mysql_select_db("test", $connection))
echo error_connect;
这段代码与前面的作用相同就是连接数据库和test数据库。
$rs=mysql_query("select count(*) from message",$connection);
$myrow = mysql_fetch_array($rs);
$pagesize=5;
$numrows=$myrow[0];
$pages=intval($numrows/$pagesize);
if ($numrows%$pagesize)
$pages++;
这段代码是用来计算分页显示中一共有多少页。$rs=mysql_query("select count(*) from message",$connection);
的作用是计算message表中一共有多少条记录的结果集并将这些纪录付给$rs。用mysql_fetch_array($rs);得到一个$myrow的数组,这个数组中保存着message中一共有多少条记录。$numrows=$myrow[0];将数字取出。
$pages=intval($numrows/$pagesize);
if ($numrows%$pagesize)
$pages++;这里计算出最大的页数是多少。
if (isset($_GET['page'])){
$page=intval($_GET['page']);
}
else{
$page=1;
}
$offset=$pagesize*($page - 1);
这段代码是用来计算数据库查询时需要的偏移量。
$rs=mysql_query("select * from message ORDER BY message_date DESC limit $offset,$pagesize",$connection);
?>
message;
?>
message_date;
?>
查询出结果并以特定的形势输出
while ($myrow = mysql_fetch_array($rs));
echo "";
echo "共有".$pages."页(".$page."/".$pages.")";
for ($i=1;$i[".$i ."] ";
echo "[".$page."]";
for ($i=$page+1;$i[".$i ."] ";
echo "";
?>
这段代码是用来分页的用for循环来改变page的值因为改变了page所以数据库查询所需的偏移量也就改变了。
以上是我做的留言板的代码解释,因为本人也是一个菜鸟所以极有可能有说错的地方还请各位网友见谅。并且欢迎提出宝贵意见
相关阅读 更多 +