Avatar billede ener1 Nybegynder
24. november 2002 - 14:34 Der er 27 kommentarer og
1 løsning

Spørgsmål vedr. DB.

Er det muligt i nedenstående script, at trække bannerne ud af en DB. fremfor som her en textfil. Er det et større projekt?
Mvh. Den uerfarne
Rene

<%
strSep  = "#" ' Separator til arrays

' Her tilføjes banner nr. 1
arrBannerPic  = arrBannerPic  & strSep & "banner/image703.gif"
arrBannerSize = arrBannerSize & strSep & "158*58"
arrBannerURL  = arrBannerURL  & strSep & "http://www.-.com"

' Her tilføjes banner nr. 2
arrBannerPic  = arrBannerPic  & strSep & "banner/image764.gif"
arrBannerSize = arrBannerSize & strSep & "158*58"
arrBannerURL  = arrBannerURL  & strSep & "http://www.-.dk"


' Split arrays
arrBannerPic  = Split(arrBannerPic,strSep)
arrBannerSize = Split(arrBannerSize,strSep)
arrBannerURL  = Split(arrBannerURL,strSep)
arrBannerID  = Split(arrBannerID,strSep)

Function Banner(strformat)
  ' Find de bannere som har det rigtige format.
  For intBanner = 1 to Ubound(arrBannerID)
    If arrBannerSize(intBanner) = strformat Then
      arrBanners = arrBanners & strSep & intBanner   
    End If
  Next
  arrBanners = Split(arrBanners,strSep)

  ' Vælg tilfældigt banner.
  Randomize
  intRandom = Int((Ubound(arrBanners) * Rnd) + 1)
  intShow = arrBanners(intRandom)
  arrSize = Split(arrBannerSize(intShow),"x")

  Response.Write "<a href='" & arrBannerURL(intShow) & "'>"
  Response.Write "<img src='" & arrBannerPic(intShow) & "' alt='Klik her for mere information!' "
  Response.Write "<img src='" & arrBannerID(intShow) & "'"
  Response.Write "width='" & arrSize(0) & "' height='" & arrSize(1) & "' border='1' bordercolor='#ffffff'>"
End Function

%>
Avatar billede hossein Nybegynder
24. november 2002 - 14:40 #1
Du kan importere din tekst fil til fx MSAccess og bagefter lave en database forbindelse for at hente variabler (felter i tabelen)
Avatar billede kube Nybegynder
24. november 2002 - 14:49 #2
du indsætter stien til billederne i databasen og opbevarer billederne i en mappe. Så kan du bare trække stien ud af databasen
Avatar billede ener1 Nybegynder
24. november 2002 - 15:08 #3
hossein: ka' du illustrere det nærmere? udfra ovenstående script.
Mvh.
Rene
Avatar billede hossein Nybegynder
24. november 2002 - 15:13 #4
ok, jeg laver lige en test
Avatar billede hossein Nybegynder
24. november 2002 - 15:42 #5
det bliver noget i den retning + at du tilføjer random finktionen:

<%@ Language=VBScript %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>
<%
Dim MyConn, SQL, RS

Set MyConn=Server.CreateObject("ADODB.Connection")
MyConn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=C:\minDB.mdb"

SQL = "Select * From minTABEL"
Set RS=MyConn.Execute(SQL)

%>
<table>
<tr>
<%
while not rs.eof then
%>
<a href= "=<% =rs("URL")%>" >&nbsp;
<img src="/images/<%=rs("imageNavn")%>" alt="Klik her for mere information!" "width="158" height="58" border=1 bordercolor=#ffffff>
</a>
<%
rs.movenext
loop
%>
</td>
</tr>
</BODY>
</HTML>
Avatar billede ener1 Nybegynder
24. november 2002 - 16:01 #6
Tak! Jeg prøver lige at rette det til.
Som du ser i scriptet, er der en fordel hvis man ønsker at kunne bestemme via størrelse på banneret. Er der nogen mulighed for at kunne styre sine bannere, f.eks. ved hjælp af ID'et? har 3 bannere på en forside, disse hentes i DB. og indsættes i en TB. har 1 banner i øverste venstre hjørne af siden (banner1), dernæst et i højre side af siden (banner2), og et i bunden af siden(banner3), er det muligt af kunne styre "banner1", "banner2", "banner3", både med hensyn til img og størrelse? Ønsker at kunne styre dette fra min opdateringsside?
Mvh.
Rene
Avatar billede ener1 Nybegynder
24. november 2002 - 16:03 #7
NB. Det er statisk stillestående bannere der er tale om, altså ikke roterende.
Avatar billede hossein Nybegynder
24. november 2002 - 16:17 #8
ok, det bliver lidt svært, jeg kigger
Avatar billede ener1 Nybegynder
24. november 2002 - 16:24 #9
Har et akut behov for hjælp omk. dette. Derfor belønnes vedkommende der hjælper, med 150 point.
Mvh.
Rene
Avatar billede hossein Nybegynder
24. november 2002 - 16:57 #10
Rene jeg er her :) Hver gang siden genopfriskes vises en ny image,

problemet med size og image hvad mener du?

<%
Const adOpenForwardOnly = 0
Const adLockReadOnly = 1

Dim objConn , objRS , strConnect , RandomNo

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

objConn.Open "DBQ=" & Server.MapPath("MinDB.mdb")& ";Driver={Microsoft Access Driver (*.mdb)}"

Set objRS = Server.CreateObject("ADODB.Recordset")
'open the tblpostcard table
objRS.Open "Select * FROM tblpostcard" , objConn , 3, , adCmdTable
Randomize
'create a random number between 1 and the amount of records in the
'table and store this in RandomNo
RandomNo = Int(Rnd * objRS.RecordCount)

objRS.Move RandomNo

'display the image
Response.Write "<img src = " & objRS.Fields("url") & ">"
Response.Write "<br>"
'display description
Response.Write objRS.Fields("description")

objRS.Close
Set objRS = Nothing
Set objConn = Nothing
%>
Avatar billede hossein Nybegynder
24. november 2002 - 17:00 #11
hvis du har flere på en side 1, 2, 3 eller flere banner så tror jeg at du kan lave 3 recordset, prøv.
Avatar billede hossein Nybegynder
24. november 2002 - 17:20 #12
Med URL i tabelen mener jeg navnet på dine images, du kan også lave 2 felt i tabelen og kalde dem width og height og så kalde dem i img tag:
Response.Write "<img src = " & objRS.Fields("url") & " height = " & objRS.Fields("height") & " width = " & objRS.Fields("width") & ">"

Du kan lave 1, 2, 3 eller flere forspørgelser dvs:
set objrs1=server.createobject("ADODB.Recordset")
set objrs2=server.createobject("ADODB.Recordset")
set objrs3=server.createobject("ADODB.Recordset")
....

også kan du placere dem vha. fx: html tabel tag forskellige steder på din side.
Avatar billede hossein Nybegynder
24. november 2002 - 18:01 #13
Rene, hvad så? virker det?
Avatar billede ener1 Nybegynder
24. november 2002 - 22:42 #14
Hej Hossein!
Det virker desværre ikke helt efter hensigten. Der sker jo det, at jeg hele tiden får hevet de 3 samme bannere frem på siden, meningen er den at jeg selv skal kunne styre hvilke bannere jeg måtte ønske der skulle vises. Iøvrigt skal Random ikke repræsenteres, da jeg specifikt ønsker at vælge mit banner.
Håber du har andre ideer? skulle dette imidlertid ikke være tilfældet, får du de ovennævnte point alligevel. :-)
Mvh.
Rene
Avatar billede hossein Nybegynder
24. november 2002 - 23:42 #15
dvs at du vil bare vise dine images/banner tre forskellige steder på siden og skal ikke være random? hvis ja, så fjern random funktion:

<%
Dim objConn , objRS

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

objConn.Open "DBQ=" & Server.MapPath("MinDB.mdb")& ";Driver={Microsoft Access Driver (*.mdb)}"

Set objRS = Server.CreateObject("ADODB.Recordset")
'open the tblpostcard table
objRS.Open "Select * FROM tblpostcard" , objConn
%>
<table>
<tr>
<%
while not rs.eof then
%>
<td>
<a href= "=<% =rs("URL")%>" >&nbsp;
<img src="/images/<%=rs("imageNavn")%>" alt="Klik her for mere information!" "width="158" height="58" border=1 bordercolor=#ffffff>
</a>
<%
objrs.movenext
loop
%>
</td>
</tr>
</table>

så får du det hele på en gang frem, men hvis du tilføjer en if sætning så får du en bestemt banner også kan du placere den hvor du vil på din side:

<% if objRS("ID")= 3 then
Response.Write "<img src = " & objRS.Fields("url") & " height = " & objRS.Fields("height") & " width = " & objRS.Fields("width") & ">"
end if
%>

På den måde har du styr på det.
Avatar billede ener1 Nybegynder
25. november 2002 - 13:46 #16
Hej Hossein!
Jeg er mere end lykkelig over din store hjælp. Jeg vil være mere end glad, hvis du kan implementere

<% if objRS("ID")= 3 then
Response.Write "<img src = " & objRS.Fields("url") & " height = " & objRS.Fields("height") & " width = " & objRS.Fields("width") & ">"
end if
%>

i ovenstående script, så det er funktionelt. Skal som tidl. nævnt fungere med 3 bannere.
Jeg vil så kvittere med 150 point.
Mvh.
Rene
Avatar billede hossein Nybegynder
25. november 2002 - 22:36 #17
<%
Dim objConn , objRS, vis_Billede

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

objConn.Open "DBQ=" & Server.MapPath("MinDB.mdb")& ";Driver={Microsoft Access Driver (*.mdb)}"

Set objRS = Server.CreateObject("ADODB.Recordset")
'open the tblpostcard table, Tabelen har felterne ID, url, height, width 
objRS.Open "Select * FROM tblpostcard" , objConn

Vis_billede = objRS.Fields("ID") ' Det er ID nummeret som tilhører en image i tabellen
%>
<table>
<tr>
<td>
<% if Vis_billede = 3 then
Response.Write "<img src = " & objRS.Fields("url") & " height = " & objRS.Fields("height") & " width = " & objRS.Fields("width") & ">"
end if
%>
</td>
</tr>
</table>

<table>
<tr>
<td>
<% if Vis_billede = 24 then
Response.Write "<img src = " & objRS.Fields("url") & " height = " & objRS.Fields("height") & " width = " & objRS.Fields("width") & ">"
end if
%>
</td>
</tr>
</table>

<table>
<tr>
<td>
<% if Vis_billede = 1 then
Response.Write "<img src = " & objRS.Fields("url") & " height = " & objRS.Fields("height") & " width = " & objRS.Fields("width") & ">"
end if
%>
</td>
</tr>
</table>

Om du vil lægge dem i tabel eller ej det ved jeg ikke jeg har bare vist at det er en mulighed, prøv og se om det er ok!
Avatar billede ener1 Nybegynder
25. november 2002 - 23:44 #18
Det er næsten perfekt, det er den måde hvorpå jeg ønsker det, der er bare det problem at billede/banner 2 og 3, ikke vises på siden.
Håber du kan hjælpe, endnu engang.
Mvh.
Rene
Avatar billede ener1 Nybegynder
25. november 2002 - 23:49 #19
Det er kun billedet/banneret med ID'et 1, der vises?
Avatar billede hossein Nybegynder
25. november 2002 - 23:58 #20
Ok, så laver vi 2 mere recordset:
Set objRS1 = Server.CreateObject("ADODB.Recordset")
SQL2 = "Select * FROM tblpostcard"
objRS2.Open SQL2  , objConn

Vis_billede2 = objRS2.Fields("ID")

det samme gør du med nr. 3
Avatar billede hossein Nybegynder
26. november 2002 - 00:00 #21
ups, here sætter vis_billede = 2 i if sætningen
Avatar billede hossein Nybegynder
26. november 2002 - 00:09 #22
jeg sover, sql sætninger bliver:

SQL1= "Select * FROM tblpostcard where ID = 1"
SQL2= "Select * FROM tblpostcard where ID = 2"
SQL3= "Select * FROM tblpostcard where ID = 3"

fx:
Set objRS2 = Server.CreateObject("ADODB.Recordset")
SQL2 = "Select * FROM tblpostcard where ID = 2"
objRS2.Open SQL2  , objConn

Vis_billede2 = objRS2.Fields("ID")

<% if Vis_billede2 = 2 then ' nu er det også muligt at fjerne if sætningen da objrs2 henter kun ID = 2
Response.Write "<img src = " & objRS2.Fields("url") & " height = " & objRS2.Fields("height") & " width = " & objRS2.Fields("width") & ">"
end if
%>
Avatar billede ener1 Nybegynder
26. november 2002 - 12:55 #23
Goddag Hossein!
Ja, så har jeg udfra ovenstående script, kæmpet en brav kamp for at få det op og køre, men kan stadig ikke få det til at fungere?
Har du en mulighed for at få det til at virke, jeg har 'næsten' selv givet op.
Jeg kan i bedste fald få det til at vise banneret med ID'et 1.
Mvh.
Rene (den opgivende) ;-)
Avatar billede hossein Nybegynder
26. november 2002 - 14:04 #24
Hvorfor Rene, du skal lave 3 recordset også kalde dem, hvis det ikke kommer til virke så send hele siden til mig også kigger jeg i aften: mach3@get2net.dk
<%
Set objRS1 = Server.CreateObject("ADODB.Recordset")
SQL1 = "Select * FROM tblpostcard where ID = 1"
objRS1.Open SQL1  , objConn

Vis_billede1 = objRS1.Fields("ID")
%>


<% if Vis_billede1 = 1 then ' nu er det også muligt at fjerne if sætningen da objrs1 henter kun ID = 1
Response.Write "<img src = " & objRS1.Fields("url") & " height = " & objRS1.Fields("height") & " width = " & objRS1.Fields("width") & ">"
end if
%>

<%
Set objRS2 = Server.CreateObject("ADODB.Recordset")
SQL2 = "Select * FROM tblpostcard where ID = 2"
objRS2.Open SQL2  , objConn

Vis_billede2 = objRS2.Fields("ID")
%>


<% if Vis_billede1 = 2 then ' nu er det også muligt at fjerne if sætningen da objrs1 henter kun ID = 2
Response.Write "<img src = " & objRS2.Fields("url") & " height = " & objRS2.Fields("height") & " width = " & objRS2.Fields("width") & ">"
end if
%>

<%
Set objRS3 = Server.CreateObject("ADODB.Recordset")
SQL3 = "Select * FROM tblpostcard where ID = 3"
objRS3.Open SQL3  , objConn

Vis_billede3 = objRS3.Fields("ID")
%>


<% if Vis_billede1 = 3 then ' nu er det også muligt at fjerne if sætningen da objrs1 henter kun ID = 3
Response.Write "<img src = " & objRS3.Fields("url") & " height = " & objRS3.Fields("height") & " width = " & objRS3.Fields("width") & ">"
end if
%>
Avatar billede ener1 Nybegynder
26. november 2002 - 22:13 #25
Godaften Hossein!
Jeg har sendt siden til dig!
Mvh.
Rene
Avatar billede hossein Nybegynder
27. november 2002 - 20:35 #26
Så er den sent!
Avatar billede hossein Nybegynder
16. december 2002 - 20:04 #27
den endelige kode er:
<%

Set objConn = server.CreateObject("ADODB.Connection")

objConn.Open "DBQ=" & Server.MapPath("data.mdb")& ";Driver={Microsoft Access Driver (*.mdb)}"

Set objRS1 = Server.CreateObject("ADODB.Recordset")

SQL1 = "Select * FROM Links where ID = 1"

objRS1.Open SQL1, objConn

Response.Write sql1

'Vis_billede1 = objRS1.Fields("ID")%>

<%

do while not objRS1.EOF

'if Vis_billede1 = 1 then ' nu er det også muligt at fjerne if sætningen da objrs1 henter kun ID = 1

%>

<img src=images/<%=objRS1("URL")%> height=<%=objRS1("Height")%> Width=<%=objRS1("Width")%>>

<%

objRS1.Movenext

loop

%>
Avatar billede ener1 Nybegynder
16. december 2002 - 21:56 #28
Hej Hossein!
Mange tusind tak for hjælpen!
Mvh.
Rene
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester