Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > ASP > Помогите!


Автор: Mew 28.4.2005, 07:55
На странице, я у меня имется таблица
Вот код

Код

<form action=page3.asp method="get"> 
<% 
dim StrConnection 
dim mail
strConnection= "Provider=Microsoft.Jet.OLEDB.4.0;Data source=g:\inetpub\wwwroot\asp\bibl1.mdb;persist security info=false"%>
<%
   dim Rs
   Set Rs=Server.CreateObject("ADODB.RecordSet")
   Rs.Open "Select * from 1",strConnection
   StrOut="<table border=""1"" wight=""500"" cellspacing=""3"" cellpadding=""3"" bgcolor=white><tr><td align=center wight=""30""><B>Автор</B></td><td align=center><b>Книга</b></td><td align=center><b>Цена</b></td><td align=center><b>Выбор</b></td></tr>"
   i=1
   Rs.Movefirst
   while not (Rs.EOF)
   strOut= strOut & "<tr>" & "<td>&nbsp" & Rs("author") & "</td><td align=center>" & Rs("Book") & "</td><td align=center>" & Rs("price") & "</td><td align=center><Input type=checkbox  name=ch+"i" "&"></td></tr>"
   Rs.MoveNext
   i=i+1
    wend
   Response.write"<center><h3>Выберете товар</h3>" & strOut & "</center>"
   Rs.Close 
%>


Как сделать так, чтобы на следующей странице, появилось то, что выбрал пользователь checkbox’оми. ?
Подскажите пожалуйста…..умоляю…

Автор: ReFleX 28.4.2005, 10:43
Для начало посмотри этот код - http://vingrad.ru/ASP-SRC-002250

Так понимаю тебе надо сделать корзину?

Создаёшь ещё одну таблицу, в неё будешь скидывать тот товар который польователь выберет.

Чтобы записать, какие галочки отметил пользователь, тебе нужно в цекле создать переменную i = i + 1

эту i прибавляешь к названию checkbox <input type="checkbox" name="book<%=i%>" value="true">

Отправляешь эти все галочки через form

А потом принемаешь таким же циклом:
<%
Do While Not Rs.EOF
i = i + 1
If Request.Form("Book" & i) = "true" Then
'Добавляешь в новую таблицу
End If
Loop
%>

Потом эту новую таблицу выводишь. Усё понял? smile

Автор: Mew 28.4.2005, 11:01
Да понятно

Автор: Grig 28.4.2005, 11:08
Это гемор еще тот...
Помню как сам впаривался по этой теме...

Надо в твоей таблице создать идентификационное поле, например - id и использовать вложенные подключения.
Код

set conn = server.createobject("adodb.connection")
set comm = server.createobject("adodb.command")
conn.Open conn1
comm.ActiveConnection= conn

'Тут прописываешь запрос к своей базе данных
sd = "Select * from 1" 
comm.CommandText = sd
comm.CommandType = adcmdtext
Set RS = comm.Execute

a=0

while not RS.eof
idd = RS("id")
a=a+1
e="ch"&a - или как ты там обозвал чекбоксы?
d=request.QueryString (e)
if d="on" then 

set conn2 = server.createobject("adodb.connection")
set comm2 = server.createobject("adodb.command")
conn2.Open conn1
comm2.ActiveConnection= conn2
sd = "select * from 1 where id ='"&idd&"'"
comm2.CommandText = sd
comm2.CommandType = adcmdtext
Set RS2 = comm2.Execute
'
'
'
'
'А тут делаешь все что тебе заблагорассудится с выбранной пользователем записью
'
'
'
'
end if
rs.Movenext
wend

end if
rs.close
set rs = nothing
Set conn = Nothing
Set comm = Nothing

set rs2 = nothing
Set conn2 = Nothing
Set comm2 = Nothing



Ну вобщем вот так.
Желаю удачи!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)