打印

怎样pass 两次值

先看coding,
................................................

下面是 sernbacer.asp 显示出来的画面
--------------------------------------------------------------------



------------------------------------------------------------------------------
sernbacer.asp
------------------------------------

<%Response.ContentType ="text/vnd.wap.wml"%>

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>
<card title="Acer Laptop">
<%
Set MyConn=Server.CreateObject("ADODB.Connection")

Myconn.Open "DSN=try"

Set RS=MyConn.Execute("SELECT * FROM product WHERE type ='pc' AND brand = 'acer'")
If rs.eof Then
%>

<p>
<% response.write(" No ACER Laptop found") %>
<do type="prev" label="Back"><prev/></do>

</p>

<%
Else
while not rs.eof
%>
<p>
<% response.write("<strong>"&RS("pname")&" </strong>")%><br/>
<% response.write("<strong>Product ID:</strong>" &RS("pid"))%>



////////////////////////////// 问题来了, 对于上面两行coding,是将数据库里面符合用户搜索条件的资料显示出来,上面一行显示的是产品名称,下面一行,显示的是产品ID,这个画面,可以在上面的那张图片里面看见, 我得问题是,如何将这个产品ID在pass一次到一个detail.asp文件里面,您们可以看那个贴图,就是说,在产品ID右边有 >>> 这个连接,我想通过这个连接,在用户点击后,可以看见产品的完整信息,比如显示出 产品库存多少, 产品简介,产品其他信息......就像这样,   ...............    或者 直接就把 刚刚显示出来的那个产品ID连接到detail.asp文件,那会更好.... 以下是我自己的设想,因为在注册用户时,我用了这样的pass value的方法,将用户输入的基本资料,存到数据库了,但是在这里,我不知道要如何才能传递那个ID的值,希望达人们,帮帮我,谢谢了........//////////////////////////////////

<anchor>>>><go href="detail.asp?pid=$(pid)" method="post" />
       </anchor><br/>

<a href="wantorder.asp">Want Order</a><br/>
------------------------

</p>
       
<%

RS.MoveNext
WEND
END IF
%>
       <p>
              <do type="prev" label="Back"><prev/></do>
<br/>
                <a href="aftcuslog.wml">Back to Home</a>
       </p>

<%

RS.Close
MyConn.Close

%></card></wml>


-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

detail.asp
---------------------------------

<%Response.ContentType ="text/vnd.wap.wml"%>

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>
<card title="detail">
<%

dim a
a=Request.QueryString("pid")

\\\\\\\\\\\\\\\\\\\\以上的这个,就是想把刚刚从上个页面pass下来的产品ID的值记录在这个页面,然后通过产品ID(因为它是一个主键primary key),在在数据库里面搜索这个产品的其他信息...   不知道我说清楚没,希望知道的大哥们,帮帮忙,小弟这个破系统交不出,就完蛋了.谢谢,感激不尽!!!/////////////////////////////////////////


Set MyConn=Server.CreateObject("ADODB.Connection")

Myconn.Open "DSN=try"

Set RS=MyConn.Execute("SELECT * FROM product WHERE pid ='"& a& "'")
If rs.eof Then
%>

<p>


<% response.write(" There is no detail information of the product found") %>
<a href="search.wml">Ok</a> <br/>
</p>

<%
Else
while not rs.eof

%>

<p>
<% response.write("<strong>"&RS("pname")&" </strong>")%><br/>
<% response.write("<strong>Product ID:</strong>" &RS("pid"))%><br/>
<% response.write("<strong>Stock:</strong>" &RS("stock"))%><br/>
<% response.write("<strong>Price(RM):</strong>" &RS("price"))%><br/>
<% response.write("<strong>Comment:</strong>" &RS("comment"))%><br/>
<a href="wantorder.asp">Want Order</a><br/>
------------------------

</p>
       
<%

RS.MoveNext
WEND
END IF
%>
       <p>
              <a href="search.wml">Back</a><br/>
                <a href="aftcuslog.wml">Back to Home</a>
       </p>

<%

RS.Close
MyConn.Close

%></card></wml>

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

谢谢
<anchor title="进入">>>
       <go href="detail.asp" method="get">
       <postfield name="pid" value="$(pid)" />
       "这是要传的参数"<postfield name="id" value="id" />
       </go>
</anchor>
折除~~重组自己~~~
MyBlog
<p>
<a href="detail.asp?pid=$(pid) ">察看</a>
</p>
我做jsp,不是太清楚asp语法,你凑活看吧,但wml语句这样就可以。不用anchor那样麻烦
还有如果你代码中应该加分页,要不你这么做,wap上显示过多,而且无法保证一个card不超出4000字

TOP

还在为头像烦恼?还在为不能关注好友动态烦忧?快来蓝色理想家园吧!
我已经按照您上述的方法把coding写进去了,没错的话就是以下的这段, 关键的地方,我估计是在 get, 用get 将 显示出来的那个 pid的值记录下来,但是在detail.asp这个文件里面,我觉得还是没有传过去,因为显示出来的东西,老是说没有这个产品存在....

--------------------------------------------------------------------------------------------------------------------

<p>
<% response.write("<strong>"&RS("pname")&" </strong>")%><br/>
<% response.write("<strong>Stock:</strong>" &RS("stock"))%><br/>
<% response.write("<strong>Product ID:</strong>" &RS("pid"))%>
<anchor>>>><go href="detail.asp?pid=$(pid)" method="get" />
       </anchor><br/>
<a href="wantorder.asp">Want Order</a><br/>
------------------------

</p>

-----------------------------------------------------------------------------------------

然后在我detail.asp那个页面,我应该如何将那个pid的值记录在那个页面呢? 我 用了下面的这个方法:我dim了一个pid,让它将上个页面的那个pid接受过来,我不知道这样对不对,但是coding方面没有问题,但是产品详细信息还是找不到. 不知道问题在那里, 主要是上个页面的那个pid并不是用户输入的一个值,它也是在数据库里面找出来的...不知道怎么pass它...
---------------------------------------------------------------------------

<%
dim pid
pid = Request.QueryString("pid")

\\\\\\\\\\\\\\\因为上面那个页面用了 method = get, 我不知道这里 要得到这个值,是不是还继续用   Request.QueryString.....?////////////////请达人们赐教!!!!!


Set MyConn=Server.CreateObject("ADODB.Connection")

Myconn.Open "DSN=try"

Set RS=MyConn.Execute("SELECT * FROM product WHERE pid ='"& pid& "'")
If rs.eof Then
%>




TOP

复制内容到剪贴板
代码:
<anchor>>>><go href="detail.asp?pid=$(pid)" method="get" />
改为
复制内容到剪贴板
代码:
<anchor>>>><go href="detail.asp?pid=$(<%=RS("pid")%>)" method="get" />
试试
折除~~重组自己~~~
MyBlog

TOP

还是不行也, 我已经把pass 产品ID的方法改为

<anchor>>>><go href="detail.asp?pid=$(<%=RS("pid")%>)" method="get" /></anchor>

页面coding没有错误,然后在我detail.asp那个页面,应该如何将这个pid的值拿过来,  难道应该这样写吗?

<%
dim a
a=Request.QueryString(<%=RS("pid")%>)

或者

a=Request.QueryString("<%=RS("pid")%>")

或者 直接在搜索的时候 写  select * from product where pid = '"& pid& "'     ?

但是这3个方法试了,还是把产品ID没有传过去,找不到,页面coding没有问题,走得还是这一步:

<p>
<% response.write(" There is no detail information of the product found" %>
<a href="search.wml">Ok</a> <br/>
</p>

这说明,还是那个产品id没有传过去,在数据库里面,找不到吻合那个ID的数据...怎么办? 大哥们....


TOP

你的意思是这样么:
首先按照一定的条件,搜索出一些结果,但这些结果仅仅是简单的列出,你想让用户点击某条记录会出现详细的记录。
如果是这样的话,下面这种三楼的方法就可以了
id = rs("id")
<a href="detail.asp?id=<%=id%>">详细(或者产品的简短介绍)</a>
就可以了。
在detail.asp页面,通过 id = request.QueryString("id")得到传送来的id,到数据库中查找详细的信息就可以了。

常用的把信息传送到下个页面,除了pocket43的post,三楼的a.asp?id=<%=id%>,外还有 session cookies 等,根据实际的情况进行选择。

TOP

谢了,  a.asp?id=<%=id%>, 这个Pass值的方法可行,现在用的这个,挺方便,感谢

TOP