|
Тема
|
Znaete li ka she stane tova?
|
|
Автор | www (Нерегистриран) |
Публикувано | 04.07.02 11:24 |
|
Kak she stane za poveche ot edin baner?
<%
randomize()
r=rnd()
if r>0.5 then
response.write("ad.gif")
else
response.write("ad2.gif")
End If
%>
| |
Тема
|
Re: Znaete li ka she stane tova?
[re: www]
|
|
Автор |
Pechenia (нема лабаво ;-) |
Публикувано | 04.07.02 11:34 |
|
Знаем... нагрухваш всички банери в масив и после си избираш един /кода е примерен и подлежи на проверка, понеже ме мързи да тествам/:
Dim Banners (100)
Banners (1)='banner1.gif'
Banners (2)='banner2.gif'
...
Banners (100)='banner100.gif'
Randomize
Response.Write Banners (Int (Rnd*100+1))
Далеч по забавен и ценен е варианта банерите да се пазят като филета или Blob полета в база данни, тогава е мааалко по-трудно. Ама и тогава го знаем.
чети и дишай по-леко
| |
Тема
|
Re: Znaete li ka she stane tova?
[re: Pechenia]
|
|
Автор |
dzver (чатер) |
Публикувано | 04.07.02 11:46 |
|
посоченият от теб пример може да се съкрати - не е нужно да имаш банери в масив, след като можеш да кръстиш банерите от baner1 до baner100 и просто да
response.write "baner" & sluchajno_chislo & ".gif"...
разбира се, това е опростенческо, понеже банерите несъмнено имат и ЛИНКОВЕ към тях :) Тогава се връщаме към твоето решение с двумерен масив и данни за връзката.
| |
Тема
|
Re: Znaete li ka she stane tova?
[re: Pechenia]
|
|
Автор |
kod (аман от титли) |
Публикувано | 04.07.02 19:55 |
|
Е, защо да е по-сложничко с база?
Например:
set Rs = oConn.Execute("SELECT * FROM banners")
strBanners = rs.getrows()
rs.movefirst
Do While Not rs.EOF
intCounter = intCounter + 1
rs.movenext
Loop
Randomize
intID = Int(Rnd * intCounter)
strDisplay = strBanners(1,intID)
------------------------------------------------------
<%= strDisplay%>
| |
Тема
|
Re: Znaete li ka she stane tova?
[re: kod]
|
|
Автор |
dzver (чатер) |
Публикувано | 05.07.02 00:13 |
|
ohh, otnovo ne bih postupil taka :)
kato komentar - tozi recordset sys set rs=conn.execute sql_zajavka ima po default mnogo tupi svojstva. primerno niama recordcount :) osven tova s rs.getrows() udvojavash zaemanoto v pametta prostranstvo, poneje ti taka ili imash vednuj dannite v recordset. na 3-o miasto tova rs.movefirst e izlishno.
so, mojat primer
<%
set rs=server.createobject("adodb.recordset")
randomize
rs.open "select * from banners", conn, 3
if not rs.eof then
rs.absoluteposition=(rs.recordcount-1)*rnd+1
show_my_banner
end if
rs.close
%>
| |
Тема
|
Re: Znaete li ka she stane tova?
[re: dzver]
|
|
Автор |
kod (аман от титли) |
Публикувано | 05.07.02 07:56 |
|
Мда, в общи линии си прав - малко наизуст го писах и не е особено оптимизирано :)).
Но всичко върши работа...
А и какво значи execute има тъпи свойства? Всичко зависи от това, какво ти трябва, ако не ти трябват съответни свойства не би следвало да те интересува има или ги няма :).
А rs.movefirst-а що съм го написал??? Знам ли :).
| |
Тема
|
Re: Znaete li ka she stane tova?
[re: kod]
|
|
Автор |
dzver (чатер) |
Публикувано | 05.07.02 16:13 |
|
ами нали това е форум за обмяна на опит ;-)
просто споделих начина на работа, който според мен е по-ефективен :)
| |
Тема
|
Re: Znaete li ka she stane tova?
[re: dzver]
|
|
Автор | wili98 (Нерегистриран) |
Публикувано | 10.07.02 14:17 |
|
Po otnoshenie na performance..
ako otworsih RS prez con.execute, rabotata s nego e po-byrza, zaradi fowrwardOnly, adClient i t.n.
Towa ti pozwolqwa da teglish recordite bez da chakas celiqt RS da pristigne pri teb..
AMa nqma zanachenie..
karaj prosto wmetwane
| |
Тема
|
Re: Znaete li ka she stane tova?
[re: wili98]
|
|
Автор |
dzver (чатер) |
Публикувано | 10.07.02 21:53 |
|
da, ama puk connectiona ti e zaet, dokato asp-to produljava da se execute-va i moje da ti se naloji da rabotish s 2 connectiona;
osven tova ti lipsvat danni za tova kolko e goliam recordseta.
ne vijdam nikakvo smisleno predimstvo.
| |
|
|
|
|