jquery ajax无刷新留言板与文章评论实例

表可以自己建立,只有classid,title,content,updatetime,id五个字段

首页index.php

 代码如下 复制代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>www.corange.cn</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="../jquery-1.4.3.js" mce_src="jquery-1.4.3.js"></script>

<script type="text/javascript">

$(document).ready(function(){        //DOM的onload事件处理函数
$("#button").click(function(){          //当按钮button被点击时的处理函数
    postdata();                                      //button被点击时执行postdata函数
});
});

function postdata(){                             //提交数据函数
$.ajax({                                                 //调用jquery的ajax方法
    type: "POST",                                     //设置ajax方法提交数据的形式
    url: "ok.php",                                      //把数据提交到ok.php
    data: "title="+$("#title").val()+"&content="+$("#content").val()+"&classid="+$("#classid").val(),    //输入框writer中的值作为提交的数据

    success: function(msg){                 //提交成功后的回调,msg变量是ok.php输出的内容。
              //
     $("#div2").html(msg);                    //如果有必要,可以把msg变量的值显示到某个DIV元素中
  $("#div1").html("<font color='#ff0000'>Post OK</font>");
          
  $("#title_span").html("<input type='text' value='' name='title' id='title'/>");
  $("#content_span").html("<textarea name='content' cols='50' rows='10' id='content'></textarea>");     
    }

});
}

</script>
<div id="div1"></div>
<input type="hidden" value="<?php echo $_REQUEST['classid'];?>" name="classid" id="classid"/><br />
title:<span id="title_span"><input type="text" value="" name="title" id="title"/></span><br />
content:<span id="content_span"><textarea name="content" cols="50" rows="10" id="content"></textarea></span><br />
<input type="submit" name="button" id="button" value="提交" />
<hr />
<div id="div2">
<?php require "show_main.php";?>
</div>
<hr />

ok.php文件,由ajax提交数据过来的

 代码如下 复制代码

<?php
require "conn.php";
$classid=$_POST['classid'];
$title=$_POST['title'];
$content=$_POST['content'];
$updatetime = date("Y-m-d H:i:s",time());
mysql_select_db($database_lr, $lr);
$insert_sql="insert into blog (classid,title,updatetime,content) values ('$classid','$title','$updatetime','$content')";
$result = mysql_query($insert_sql);

?>
<?php require "show_main.php";?>

conn.php数据库连接文件

 代码如下 复制代码

<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_lr = "localhost";
$database_lr = "inso";
$username_lr = "root";
$password_lr = "";
$lr = mysql_pconnect($hostname_lr, $username_lr, $password_lr) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_query("set names utf8;");
//if ($lr) {
//echo "非常好,MYSQL连接成功了!";
//} else {
//echo "不好意思,失败了!";
//}

?>

show_main.php文件

 代码如下 复制代码

<script language="javascript" src="ajaxpg.js"></script>
<div id="result">
<?php
$classid=$_REQUEST['classid'];
//注意有个问题,就是数据如果总数小于每页数据不能显示

$page=isset($_GET['page'])?intval($_GET['page']):1; //这句就是获取page=18中的page的值,假如不存在page,那么页数就是1。
$num=10; //每页显示10条数据

require "conn.php";
mysql_select_db($database_lr, $lr);
/*
首先咱们要获取数据库中到底有多少数据,才能判断具体要分多少页,具体的公式就是
总数据库除以每页显示的条数,有余进一。
也就是说10/3=3.3333=4 有余数就要进一。
*/

$result=mysql_query("select * from blog where classid='$classid'");
$total=mysql_num_rows($result); //查询所有的数据

$url='show_main.php';//获取本页URL

//页码计算
$pagenum=ceil($total/$num); //获得总页数,也是最后一页
$page=min($pagenum,$page);//获得首页
$prepg=$page-1;//上一页
$nextpg=($page==$pagenum ? 0 : $page+1);//下一页
$offset=($page-1)*$num; //获取limit的第一个参数的值,假如第一页则为(1-1)*10=0,第二页为(2-1)*10=10。

//开始分页导航条代码:
$pagenav=$page."/".$pagenum."&nbsp;<B>&nbsp;".($total?($offset+1):0)."</B>-<B>".min($offset+10,$total)."</B> &nbsp;Total $total &nbsp;";

//第一页:
if($page==1) {
$pagenav.="First&nbsp;";
}
else
{$pagenav.="<a href=javascript:dopage('result','$url?classid=$classid&page=1');>First</a>&nbsp;";}
if($prepg) $pagenav.=" <a href=javascript:dopage('result','$url?classid=$classid&page=$prepg');>Prev</a>&nbsp;"; else $pagenav.=" Prev&nbsp;";
if($nextpg) $pagenav.=" <a href=javascript:dopage('result','$url?classid=$classid&page=$nextpg');>Next</a> "; else $pagenav.=" Next ";
if ($pagenum>$page){
 $pagenav.="&nbsp;<a href=javascript:dopage('result','$url?classid=$classid&page=$pagenum');>Last</a> ";
}
else{
 $pagenav.="&nbsp;Last";
}
$pagenav.="&nbsp;Total page $pagenum ";

//假如传入的页数参数大于总页数,则显示错误信息
if($page>$pagenum){
echo "Error : Can Not Found The page ".$page;
exit;
}

$info=mysql_query("select * from blog where classid='$classid' order by id desc limit $offset,$num"); //获取相应页数所需要显示的数据

if ($total>0)
{
 while($it=mysql_fetch_array($info)){
 echo $it['title']."&nbsp;(".$it['updatetime'].")";
 echo "<br>";
 echo $it['content'];
 echo "<br>";
 } //显示数据
 echo"<br>";
 echo $pagenav;//输出分页导航
}
else
{
 echo"No comment.";
}
?>
</div>

ajaxpg.js文件

 代码如下 复制代码

var http_request=false;
function send_request(url){//初始化,指定处理函数,发送请求的函数
http_request=false;
//开始初始化XMLHttpRequest对象
if(window.XMLHttpRequest){//Mozilla浏览器
http_request=new XMLHttpRequest();
if(http_request.overrideMimeType){//设置MIME类别
http_request.overrideMimeType("text/xml");
}
}
else if(window.ActiveXObject){//IE浏览器
try{
http_request=new ActiveXObject("Msxml2.XMLHttp");
}catch(e){
try{
http_request=new ActiveXobject("Microsoft.XMLHttp");
}catch(e){}
}
}
if(!http_request){//异常,创建对象实例失败
window.alert("创建XMLHttp对象失败!");
return false;
}
http_request.onreadystatechange=processrequest;
//确定发送请求方式,URL,及是否同步执行下段代码
http_request.open("GET",url,true);
http_request.send(null);
}
//处理返回信息的函数
function processrequest(){
if(http_request.readyState==4){//判断对象状态
if(http_request.status==200){//信息已成功返回,开始处理信息
document.getElementById('result').innerHTML=http_request.responseText;
}
else{//页面不正常
alert("您所请求的页面不正常!");
}
}
}
function dopage(obj,url){
document.getElementById(obj).innerHTML="正在读取数据...";
send_request(url);
reobj=obj;
}

我们只要按上面一个个文件保存在你的服务器上即可运行了哦。

时间: 2024-09-20 00:44:15

jquery ajax无刷新留言板与文章评论实例的相关文章

jquery AJAX无刷新评论实例

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-

JQUERY AJAX无刷新异步上传文件

AJAX无刷新上传文件并显示 http://blog.csdn.net/gao3705512/article/details/9330637?utm_source=tuicool jQuery Form Plugin  官网地址:http://malsup.com/jquery/form/#tab7   基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用 http://www.cnblogs.com/wuhuacong/p/3343967.html

ASP jQuery AJAX无刷新评论

做公司网站时的一个应用,用猫东的表单验证插件做实时的验证,和jquery的ajax提交数据,获取评论的时候加入简单的分页 原理很简单,注意一下编码问题就行了 实现了获取评论无刷新,发表评论无刷新,页面获取评论时显示loading加载效果 jquery真的是一个非常优秀的JS库,简单容易掌握,对于网页中的多级菜单.级联效果.Tab选项卡切换.图片轮转显示,实现起来都非常的简单,往往就是几句代码的事. 做AJAX应用,jquery提供的$.get().$.post()函数都可以用于提交数据,但建议使

JQuery+Ajax无刷新分页的实例代码_jquery

先看效果图: 实现原理很简单,使用了jquery.pagination这个插件,每当点击页码时异步去服务器去取该页的数据,简单介绍如下: 一.数据库表结构:很简单  就四个字段 分别是News_id  News_title  News_time  News_readtimes 二.前台页面代码: 复制代码 代码如下: <head runat="server">    <title>JQuery无刷新分页</title>    <link hre

php jquery.ajax无刷新登录简单实例代码

一个很简单的应用实例,就利用了jquery.ajax来实现无刷新登录效果了,方便很简单扼要,实例也只讲了jquery应用这一圬,php教程那款就没讲了,有需要的朋友可以参考一下. <script src="js/jquery-1.4.2.js" type="text/网页特效"></script> <script language="javascript"> function test() { $.ajax({

PHP + jquery ajax无刷新投票实例

前台:  代码如下 复制代码 <?    error_reporting(0);    mysql_connect("localhost","root","root");  mysql_select_db('bckq##!~%^#');  mysql_query("set names gb2312");  $sql="select dede_vote.aid,dede_vote.spec,dede_vote.v

PHP jQuery ajax无刷新文件下载次数统计

本实例需要读者具备PHP.Mysql.jQuery以及html.css等相关的基本知识,在开发示例前,需要准备Mysql数据表,本文假设有一张文件下载表downloads,用来记录文件名.保存在文件服务器上的文件名以及下载次数.前提是假设下载表中已存在数据,这些数据可能来自项目中的后台上传文件时插入的,以便我们在页面中读取.downloads表结构如下:  代码如下 复制代码 CREATE TABLE IF NOT EXISTS `downloads` (    `id` int(6) unsi

asp.net+jquery ajax无刷新登录的实现方法_实用技巧

因为工作需要研究了一下 js的ajax,下面是成果.主要是三部分:一.js部分 友情提示注意js部分中的 $("#btn_login")中的return false:这个可以阻止回转服务器不然还是会刷新 复制代码 代码如下: $(document).ready(function () {    $("#btn_login").click(function () {        postlogin();        return false;    });});

jquery ajax无刷新数据更新的例子

html代码  代码如下 复制代码 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>ajax</title> <link href="css/share.css" rel="stylesheet&qu