账号通
    

账号  

密码  

4054

查看

8

回复
主题:[分享]利用SQL实现找朋友页面效果(在线状态、加为好友及发送消息) [收藏主题] 转到:  
一生有你 当前离线

10439

主题

0

广播

18

粉丝
添加关注
级别:版主

用户积分:72521 分
登录次数:1969 次
注册时间:2006/7/1
最后登录:2021/8/25
一生有你 发表于:2010/1/23 18:25:00   | 只看该作者 查看该作者主题 楼主 

实现效果,类似http://demo.kesion.com/space/friend 右侧部分的判断用户在线、加为好友及发送消息。


原理:利用SQL标签+科汛系统内置的JS代码


第一步创建SQL标签


 


标签名称:用户列表


是否ajax调用:


分页标签:根据需要自己决定吧


sql语句:select top 10 userid,username,realname,isonline,userface,province,city from KS_user order by userid desc


sql循环体:


[loop=10]
<li>
 <table>
  <tr>
  <td width="80" align="center">
   <img src="{$Field(userface,Text,0,...,0,)}" width="60" height="60">
  </td>
  <td>
   用户名:{$Field(username,Text,0,...,0,)}<br/>
   来  自:{$Field(province,Text,0,...,0,)}{$Field(city,Text,0,...,0,)}<br/>
   状  态:{$IF({$Field(isonline,Num,0,2)}=1||<span style="color:red">在线</span>||离线)}<br/>
   <img src="/images/user/log/106.gif"><a href="javascript:void(0)" onclick="addF(event,'{$Field(username,Text,0,...,0,)}')">加为好友</a> <img src='/images/user/mail.gif'><a href="javascript:void(0)" onClick="sendMsg(event,'{$Field(username,Text,0,...,0,)}')">发送消息</a>  </td>
  </tr>
 </table>
</li>
[/loop]


循环体里的一个技术难点就是用到SQL标签循环体里的{$IF语句判断用户有没有在线并输出,注意上面红色代码


 


 


第二步:请在要调用的模板页<head>与</head>之间放入以下JS代码


<script src="/ks_inc/jquery.js" type="text/javascript"></script>
<script src="/ks_inc/kesion.box.js"></script>
<script type="text/javascript">
   function checkmsg()
   {
       var message=escape($("#message").val());
    var username=escape($("#username").val());
    if (username==''){
     alert('参数传递出错!');
     closeWindow();
    }
    if (message==''){
      alert('请输入消息内容!');
      $("#message").focus();
      return false;
    }
    $.get("/plus/ajaxs.asp",{action:"SendMsg",username:username,message:message},function(r){
      r=unescape(r);
      if (r!='success'){
    alert(r);
      }else{
     alert('恭喜,您的消息已发送!');
     closeWindow();
      }
    });
         }
   function sendMsg(ev,username)
   {
    mousepopup(ev,"<img src='/images/user/mail.gif' align='absmiddle'>发送消息","对方登录后可以看到您的消息(可输入255个字符)<br /><textarea name='message' id='message' style='width:340px;height:80px'></textarea><div style='text-align:center;margin:10px'><input type='button' onclick='return(checkmsg())' value=' 确 定 ' class='button'><input type='hidden' value="+username+" name='username' id='username'> <input type='button' value=' 取 消 ' onclick='closeWindow()' class='button'></div>",350);
    $.get("/plus/ajaxs.asp",{action:"CheckLogin"},function(r){
     if (r!='true'){
    ShowLogin();
   }
     });
   }
        function check()
  {
   var message=escape($("#message").val());
   var username=escape($("#username").val());
   if (username==''){
    alert('参数传递出错!');
    closeWindow();
   }
   if (message==''){
     alert('请输入附言!');
     $("#message").focus();
     return false;
   }
   $.get("/plus/ajaxs.asp",{action:"AddFriend",username:username,message:message},function(r){
     r=unescape(r);
     if (r!='success'){
      alert(r);
     }else{
       alert('您的请求已发送,请等待对方的确认!');
    closeWindow();
     }
   });
  }
  function addF(ev,username)
  {
   show(ev,username);
   var isMyFriend=false;
   $.get("/plus/ajaxs.asp",{action:"CheckMyFriend",username:escape(username)},function(b){
      if (b=='nologin'){
     closeWindow();
     ShowLogin();
   }else if (b=='true'){
     closeWindow();
     alert('用户['+username+']已经是您的好友了!');
     return false;
    }else if(b=='verify'){
     closeWindow();
     alert('您已邀请过['+username+'],请等待对方的认证!');
     return false;
    }else{
    }
   })
  
  }
  function show(ev,username)
  {
   mousepopup(ev,"<img src='/images/user/log/106.gif'>添加好友","通过对方验证才能成为好友(可输入255个字符)<br /><textarea name='message' id='message' style='width:340px;height:80px'></textarea><div style='text-align:center;margin:10px'><input type='button' onclick='return(check())' value=' 确 定 ' class='button'><input type='hidden' value="+username+" name='username' id='username'> <input type='button' value=' 取 消 ' onclick='closeWindow()' class='button'></div>",350);
  }
  function ShowLogin()
  {
   popupIframe('会员登录','/user/userlogin.asp?Action=Poplogin',397,184,'no');
  } 
   


</script>


 


 


放上以上代码后,在需要显示的地方调用第一步创建的标签即可


{SQL_用户列表()}

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
天下无语 当前离线

1259

主题

11

广播

1

粉丝
添加关注
级别:九年级

用户积分:9743 分
登录次数:1540 次
注册时间:2007/4/1
最后登录:2024/1/8
天下无语 发表于:2010/5/9 13:12:00   | 只看该作者 查看该作者主题 沙发 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
mhjl2006 当前离线

12

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:181 分
登录次数:12 次
注册时间:2010/5/5
最后登录:2010/6/4
mhjl2006 发表于:2010/5/9 3:51:00   | 只看该作者 查看该作者主题 藤椅 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
cn2009 当前离线

1515

主题

3

广播

2

粉丝
添加关注
级别:高一年

用户积分:6151 分
登录次数:170 次
注册时间:2008/12/28
最后登录:2020/9/8
cn2009 发表于:2010/1/23 22:05:00   | 只看该作者 查看该作者主题 板凳 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
ks1w 当前离线

2796

主题

4

广播

1

粉丝
添加关注
级别:大一

用户积分:14338 分
登录次数:665 次
注册时间:2006/11/3
最后登录:2019/7/26
ks1w 发表于:2010/1/23 20:26:00   | 只看该作者 查看该作者主题 报纸 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
无风 当前离线

1622

主题

5

广播

29

粉丝
添加关注
级别:高一年

用户积分:5963 分
登录次数:199 次
注册时间:2009/10/12
最后登录:2024/4/4
无风 发表于:2010/1/23 18:55:00   | 只看该作者 查看该作者主题 地板 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
凌波微步 当前离线

330

主题

0

广播

0

粉丝
添加关注
级别:三年级

用户积分:2233 分
登录次数:214 次
注册时间:2009/6/22
最后登录:2014/12/28
凌波微步 发表于:2010/1/23 18:46:00   | 只看该作者 查看该作者主题 7楼 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
wangjian 当前离线

440

主题

0

广播

0

粉丝
添加关注
级别:四年级

用户积分:353 分
登录次数:23 次
注册时间:2009/11/27
最后登录:2013/7/24
wangjian 发表于:2011/6/7 11:08:18   | 只看该作者 查看该作者主题 8楼 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
wodejiewo 当前离线

972

主题

0

广播

0

粉丝
添加关注
级别:七年级

用户积分:294 分
登录次数:125 次
注册时间:2011/6/7
最后登录:2015/9/7
wodejiewo 发表于:2011/6/7 15:09:19   | 只看该作者 查看该作者主题 9楼 
科汛在线考试系统(NET)
好复杂看得看不懂。
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
lblb 当前离线

18

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:18 分
登录次数:1 次
注册时间:2011/6/8
最后登录:2011/6/8
lblb 发表于:2011/6/8 11:39:49   | 只看该作者 查看该作者主题 10楼 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行0.52344秒 powered by KesionCMS 9.0