紧急求助,那位大仙帮我看看,asp 调用sql 显示的问题,在线等啊!!那位兄弟帮忙感激不尽,问题描述: 35

网站同名的人登录后,会混淆相互的积分记录,上半图是会员“测试一”登录后他的积分记录,很明显这里把另外一个也叫“测试一”的也显示出来了,数据库里记录积分变化的表“jifen... 网站同名的人登录后,会混淆相互的积分记录,上半图是会员“测试一”登录后他的积分记录,很明显这里把另外一个也叫“测试一”的也显示出来了,数据库里记录积分变化的表“jifen”,如下半图,名字有相同的,但手机号码不同,我看代码里是只用username判断,但我需要用“username+phone”,这样就保证不会混淆了,哪个用户登录就只调用跟他相关的记录出来显示,但是我不知道怎么改,还望大仙们帮忙,代码:
<table class="border" border="0" cellspacing="2" width="750" cellpadding="0" style="word-break:break-all">
<!--DWLayoutTable-->

<tr bgcolor="#C0C0C0" >
<td colspan=4 style="background-color: #E1F4EE"><b><font size=3>总积分:<%
strsql="select sum(jifen) from jifen where 1=1"
if session("userid")<>"" then
strsql=strsql & " and username='"&session("username")&"'"
end If
'strsql=strsql&" order by id desc"
set rs=server.createobject("adodb.recordset")
rs.open strsql,conn,1,1
If Not rs.eof Then
'response.write rs(0)
End if%>

<%
strsql="select * from [user] where 1=1"
if session("userid")<>"" then
strsql=strsql & " and userid="&session("userid")&""
end If
'strsql=strsql&" order by id desc"
set rs=server.createobject("adodb.recordset")
rs.open strsql,conn,1,1
If Not rs.eof Then
response.write rs("jifen")
End if%>分</font></td>
</tr>

<tr bgcolor="#C0C0C0" >
<td align="center" style="background-color: #E1F4EE"><strong>用户名</strong></td>
<td align="center" style="background-color: #E1F4EE"><strong>积分</strong></td>
<td align="center" style="background-color: #E1F4EE"><strong>备注</strong></td>
<td align="center" style="background-color: #E1F4EE"><strong>时间</strong></td>
</tr>

<%
set rs2=server.createobject("adodb.recordset")
sql="select * from jifen where 1=1"
if session("userid")<>"" then
sql=sql & " and username='"&session("username")&"'"
end if

sql=sql&" order by id desc"
rs2.open sql,conn,1,1
if not rs2.eof then
rs2.pagesize=15
page=request("page")
if page="" then page=1
page=clng(page)
if page<1 then page=1
if page>rs2.pagecount then page=rs2.pagecount
rs2.absolutepage=page

if not rs2.eof then
p=0
j=1
for i=1 to rs2.pagesize
%>

<tr class="tdbg">

<td align="center"><%=rs2("username")%></td>
<td align="center"><%=rs2("jifen")%></td>
<td align="center"><%=rs2("memo")%></td>
<td align="center"><%=rs2("addtime")%></td>

</tr>

<% rs2.movenext
p=p+1
j=j+1
if p=1 then
response.write""
p=0
end if
if rs2.eof then exit for
next
end If

End if%>

</table>
亲们。。帮忙啊!我把中间
<%
set rs2=server.createobject("adodb.recordset")
sql="select * from jifen where 1=1"
if session("userid")<>"" then
sql=sql & " and username='"&session("username")&"'"
end if
sql=sql&" order by id desc"
改为:
<%
set rs2=server.createobject("adodb.recordset")
sql="select * from jifen where 1=1"
if session("userid")<>"" then
sql=sql & " and username='"&session("username")&"'and phone='"&session("phone")&"'"
end if
sql=sql&" order by id desc"
问题它就不显示了。。
展开
 我来答
时候味道
2011-06-14 · TA获得超过220个赞
知道小有建树答主
回答量:517
采纳率:0%
帮助的人:91.1万
展开全部
那就登陆时加多个手机号码输入,才可以判断手机是不是这人。照原样加。
追问
登录好像是strsql="select * from [user] where username='"&request("username")&"' and  password='"&request("password")&"'" 用姓名和密码,即使同名,密码很少会出现一样的吧!
其他信息完全不会混淆,就这个积分记录因为它单独弄在一个表里,只验证姓名那就混了,但后来我看到还有个phone那个不可能相同,所以需要加个条件,不知怎么写?这个表是记录积分变化的,同一个人可能有多条记录,同名的就需要区别开。。。
追答
积分表加个phone 字段来 匹配作者就可以了。session("phone") 木有指定。
观取佛之空7
2011-06-15 · TA获得超过137个赞
知道答主
回答量:126
采纳率:0%
帮助的人:69.5万
展开全部
晕,楼主混淆了,假如积分是单独的表,那么就不应用用户名来做区分标识,可每个用户都有一自动生成的ID作为标识,如果无法更改那你只能找下在这俩张表中是不是还会有一列可以批对的上。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
商者诡道
2011-06-16
知道答主
回答量:36
采纳率:0%
帮助的人:21万
展开全部
估计是 session("phone") 没获取到值吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式