Avatar billede starf Nybegynder
16. april 2004 - 17:16 Der er 13 kommentarer og
1 løsning

output fra db ned i script problem

er ved at lave et script der laver et galleri, hvor man kan ændre på nogle værdiger via en admin del.. Hvorden så tager og smider output fra databasen ned i scriptet så man selv kan vælge hvor mange billeder der skal vises på række og sådan. men kan ikke få outputtet til at virke.. får hele tiden fejl, lige meget hvordan jeg prøver.

dim image_directory, image_height, image_width, Images_pr_Page, Images_Horizontal
image_directory = "gallery"
image_height = rs("im_height")
image_width = rs("im_width")
Images_pr_Page = "12"
Images_Horizontal = "4"

fejl:

Error Type:
Microsoft VBScript compilation (0x800A03F6)
Expected 'End'
/galleri/image_gallery.asp, line 105

linie 2005:
"</table>" & vbCrLf

hvis jeg bare bruge "64" osv istedet for at tage output fra database virker det fint... nogle der kan se hva der er galt?
Avatar billede thesurfer Nybegynder
16. april 2004 - 17:18 #1
Prøv med CInt(rs("im_height")) og CInt(rs("im_width"))..
Avatar billede thesurfer Nybegynder
16. april 2004 - 17:19 #2
"Expected 'End'" henviser hvis til en IF-sætning..

Smid noget mere kode herind..
Avatar billede starf Nybegynder
16. april 2004 - 17:21 #3
<%
dim connect
Set connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("database/database.mdb")
%>

<%
SQL = "SELECT * FROM config"
set rs = Conn.execute(SQL)
if rs.EOF then
%>

<%
dim image_directory, image_height, image_width, Images_pr_Page, Images_Horizontal
image_directory = "gallery"
image_height =rs("im_height")
image_width =rs("im_width")
Images_pr_Page = "12"
Images_Horizontal = "4"

dim count_image, image, Image_Array
Set directory=server.createobject("scripting.filesystemobject")
Set allfiles=directory.getfolder(server.mappath(image_directory))

For each image in allfiles.files
  Image_Array = Image_Array + image.Name & ","

  count_image = count_image +1
Next

dim Current_Page, Total_Pages, Total_Images, Page_Name

Page_Name = request.servervariables("script_name")
Total_Images = count_image

Current_Page  = request.querystring("page")
If Current_Page = "" or Current_Page = "0" then
    Current_Page = "1"
end if

Total_Pages = (Total_Images/Images_pr_Page)

if Total_Pages > int(Total_Pages) then
    Total_Pages = int(Total_Pages) + 1
end if

Image_Array = split(Image_Array,",")

dim First_Image, Last_Image
First_Image = ((Current_Page-1)*(Images_pr_Page))+1
If First_Image =  "0" then
    First_Image = "1"
end if
Last_Image = (Total_Images-First_Image)

if cint(Last_Image) > cint(Images_pr_Page) then
    Last_Image = round(First_Image-1) + round(Images_pr_Page)
else
    Last_Image = (First_Image + Last_Image)
End if

response.write "<table style=""width:100%;"">" & vbCrLf

    dim Count_Image_Prints, td_width
    Count_Image_Prints = 0

    td_width = int(100 / Images_Horizontal)

    dim I
    For I = (First_Image-1) to (Last_Image-1)
        Count_Image_Prints = Count_Image_Prints + 1

        If int(Count_Image_Prints) = int("1") then
            response.write "<tr>" & vbCrLf
        end if

        response.write "<td style=""width:"& td_width &"%;text-align:center;"">" &_
            "<a href="""& image_directory &"/"& Image_Array(I) &""" target=""_blank"">" &_
                "<img src="""& image_directory &"/"& Image_Array(I) &""" border=""0"" style=""width:"& image_width &"px;;height:"& image_height &"px;"" />" &_
            "</a>" &_
        "</td>" & vbCrLf

        If int(Count_Image_Prints) = int(Images_Horizontal) then
            response.write "</tr>" & vbCrLf
            Count_Image_Prints = 0
        end if
    Next

    response.write "</tr>" & vbCrLf &_
    "<tr>" & vbCrLf &_
        "<td colspan="""& Images_Horizontal &""" style=""width:100%;text-align:center;"">" & vbCrLf

        For I = 1 to Total_Pages
            If NOT Cint(Current_Page) = Cint(I) then
                response.write " <a href="""& Page_Name &"?page="& I &""">" &_
                    I &_
                "</a> "
            else
                response.write " ["& I &"] "
            end if
        Next

        response.write "</td>" & vbCrLf &_
    "</tr>" & vbCrLf &_
"</table>" & vbCrLf
%>
Avatar billede starf Nybegynder
16. april 2004 - 17:29 #4
hmm ved nærmer efterkig ser det ud til det er min db kode der fucker noget op, fjerner jeg den og skriver f.eks en værdig istedet db udtrækket virker det fint...
Avatar billede thesurfer Nybegynder
16. april 2004 - 17:39 #5
koden skal slutte med:


        response.write "</td>" & vbCrLf &_
    "</tr>" & vbCrLf &_
"</table>" & vbCrLf
end if ' <---- det er her der mangler et "end if"
%>
Avatar billede thesurfer Nybegynder
16. april 2004 - 17:39 #6
Hvis du ved hvorfor, kan du se at du starter en IF-blok her:

<%
SQL = "SELECT * FROM config"
set rs = Conn.execute(SQL)
if rs.EOF then  ' <--- IF-blok start
%>
Avatar billede thesurfer Nybegynder
16. april 2004 - 17:44 #7
..skulle ha' været "Hvis du ikke ved hvorfor"..
Avatar billede starf Nybegynder
16. april 2004 - 17:46 #8
Doh :)

Takker.. men nu giver den

"Error Type:
Microsoft VBScript runtime (0x800A01A8)
Object required: 'Conn'
/galleri/image_gallery.asp, line 7"

linie 7 er:
set rs = Conn.execute(SQL)
Avatar billede thesurfer Nybegynder
16. april 2004 - 17:48 #9
Du har jo kaldt den "Connect":

dim connect
Set connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("database/database.mdb")
%>

<%
SQL = "SELECT * FROM config"
set rs = Conn.execute(SQL)


Du skal vælg om det skal være "Connect" eller "Conn" :-)
Avatar billede starf Nybegynder
16. april 2004 - 17:49 #10
haha fuck hvor er jeg dum lige nu :)

takker for hjælpen!
Avatar billede starf Nybegynder
16. april 2004 - 17:49 #11
smid et svar så du kan få point
Avatar billede thesurfer Nybegynder
16. april 2004 - 17:52 #12
hehehe... kender det godt.. 'sommetider kan man ikke se programmeringen for bare koder' ;-)
Avatar billede starf Nybegynder
16. april 2004 - 17:55 #13
er som regel sådan nogle dumme fejl jeg laver rundt omkring :)
tak for hjælpen
Avatar billede thesurfer Nybegynder
16. april 2004 - 17:58 #14
Det var så lidt.. :-)
Takker for points :-)
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

IT-JOB

Riskpoint A/S (Riskpoint Solutions Limited)

Senior Developer

Rambøll Management Consulting

Senior AI Engineer