Avatar billede Bruno Sørensen Nybegynder
15. april 2008 - 19:43 Der er 4 kommentarer og
1 løsning

List i ASP

Jeg har denne liste i ASP

http://cms.larsenmotorcykler.dk/default.asp?Docid=415&RevID=278&Tpl=Modules/Listbrugtmotorcykler/list_brugt.asp

hvor ASP koden ser sådan her ud.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<%@ lcid=1030%>

<!--#include file="../../GlobalResources/Scripts/GlobalData.asp"-->
<!--#include file="../../GlobalResources/Scripts/GlobalFuncLib.asp"-->

<%

Dim dbType, mbl, lang

dbType = GetSettingValue("DatabaseType", "SiteResources\Data\")



mbl=Session("Member_Level")

lang=Session("contentLanguage")

if Not IsNumeric(mbl) Or mbl="" Then mbl="0"

if Not IsNumeric(lang) Or lang="" Then lang="1"



Function GetNews()



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

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

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

conn.Open GetConStr ("SiteResources\Data\")


                                                                                      ' SBM rettelse tilføj: DocId
                strSQL = "SELECT DocumentLanguages.DocName, DocumentLanguages.DocId  "

                strSQL = strSQL & " FROM Documents, DocumentLanguages, DocumentFields "

                strSQL = strSQL & " WHERE (ParentID = 413)"

                                                      strSQL = strSQL & " AND Documents.DocumentID = DocumentLanguages.DocId "

                strSQL = strSQL & " AND Documents.DocumentID = DocumentFields.DocID "

                strSQL = strSQL & " AND (secLevel <= " &mbl& ") "

                strSQL = StrSql & " AND ((DocumentLanguages.LangId = " & lang & ") AND (DocumentLanguages.ActiveRevisionStatus=5) )"

                strSQL = strSQL & "  GROUP BY DocumentLanguages.DocName, DocumentLanguages.DocId  ORDER BY DocumentLanguages.DocName  "

                rs2.Open strSQL, conn                                                                                           

while (Not rs2.EOF)             

                                                                                     
                strDocID = rs2("DocId").Value
                                                                                      Response.Write " <a href=""read.asp?DocID=" & strDocID & """ target=""_self"">" & rs2("DocName")& "</a> Ydelse pr mdr."

                  strSQL = "SELECT DocumentLanguages.DocId AS DocId, DocumentLanguages.DocName AS DocName, DocumentFields.FieldValue AS FieldValue "

                strSQL = strSQL & " FROM Documents, DocumentLanguages, DocumentFields "

                strSQL = strSQL & " WHERE DocumentLanguages.DocName  = '" & rs2("docname") & "' "

                  strSQL = strSQL & " AND (ParentID = 413) "

                strSQL = strSQL & " AND Documents.DocumentID = DocumentLanguages.DocId "

                strSQL = strSQL & " AND Documents.DocumentID = DocumentFields.DocID "

                strSQL = strSQL & " AND (secLevel <= " &mbl& ") "

                strSQL = StrSql & " AND ((DocumentLanguages.LangId = " & lang & ") AND (DocumentLanguages.ActiveRevisionStatus=5) )"

                strSQL = strSQL & " ORDER BY Documents.PublishDate DESC, DocumentLanguages.DocName"



                rs.Open strSQL, conn



               
                                                                                     
                tmptekst = ""

                If Not rs.EOF And Not rs.BOF Then Response.Write "" & vbNewLine
                                                                                     
                While Not rs.EOF

                                 

                                                                                                                                                                             
                                  'strDocID = rs("DocId").Value
                                  'Response.Write "test <a href=""read.asp?DocID=" & strDocID & """ target=""_self"">" & rs("DocName").Value & "</a>  " & vbNewLine & rs("FieldValue")
                                  if (instr(lcase(rs("fieldvalue")), ".jpg") > 0) then
                                           
                                    elseif (rs("FieldValue") <> "") then
                                                                  if (tmptekst <> "") then
                                                                                      tmptekst = tmptekst & ", "
                                                                  end if
                                                                  tmptekst = tmptekst & rs("FieldValue")
                                    end if


                                    rs.MoveNext
                                 
                                 

                  Wend
                                                                                     
                                                                                     
                If Not rs.EOF And Not rs.BOF Then Response.Write "" & vbNewLine

               

                rs.Close

                                                               
                                                                                        Response.Write tmptekst & "<br>"
                     

rs2.moveNext

wend

rs2.Close

                conn.Close

               

End Function



Function GetNewsItem(inDocID, inConn, ShowBody)

               

                Dim strBody, strHeader, strS

                strBody = ""

                strHeader = ""

               

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

                strS = "SELECT Name, FieldValue FROM DocumentFields WHERE (DocId = " & inDocID & ") AND (LangId = " & lang & ")"

               

                nrs.Open strS, inConn

                While Not nrs.EOF

               

                                  SELECT CASE LCASE( nrs("Name").Value )

                                                    CASE LCase("Overskrift")

                                                                      strHeader = nrs("FieldValue").Value

                                                   

                                                    CASE LCase("Info")

                                                                      strBody = nrs("FieldValue").Value

                                  END SELECT

                                  nrs.MoveNext

                                 

                Wend

                nrs.Close

                Set nrs = Nothing

               

                If ShowBody Then strHeader = strHeader & strBody

                GetNewsItem = strHeader

               

End Function

%><html>



  <head>

<meta name="Generator" content="Stone's WebWriter 4">

      <meta http-equiv="Content-Language" content="da">

      <title>Larsenmotorcykler</title>

<link rel="stylesheet" href="SiteResources/CSS/NewSite.css">

                <base target="main">

  </head>



  <body leftmargin=5 topmargin=5>







<H1>Brugte Suzuki motorcykler</H1><p>

<% Call GetNews %>

<%=Maerke%>

<br><br>
<TABLE style="WIDTH: 100%; BORDER-COLLAPSE: collapse">
<TBODY>
<TR>
<TD>Der tages forbehold for indtastningsfejl og evt. prisændringer.</TD></TR>
<TR>
<TD>Leveringsomkostning 1737,- DKR</TD></TR>
<TR>
<TD>* Finansiering. Den oplyste ydelse er gældende, med en udb. på 20 % og løbetid 96 mdr. <A href="http://cms.larsenmotorcykler.dk/read.asp?Docid=370">Læs mere her</A></TD></TR>
<TR>
<TD></TD></TR></TBODY></TABLE></P>



</body></html>


Men det jeg ønsker er at de forskellige informationer kommer i en tabel i stedet, ligesom denne side

http://cms.larsenmotorcykler.dk/default.asp?Docid=409&RevID=272&Tpl=1Template1.asp

og den bare skriver ”Ja” til foto hvis der er en af celler i tabellen der indeholder, et link til et billede.

Screenshot fra de 3 tabeller der bruges kan ses her

http://cms.larsenmotorcykler.dk/Modules/Listbrugtmotorcykler/index.html

Er der nogen der kan hjælpe??

/Bruno
Avatar billede solle Nybegynder
16. april 2008 - 11:42 #1
Har ik testet det, så ved ik om der mangler lidt.... Men tror da det her er noget alá det du vil have!!!

                rs2.Open strSQL, conn                                                                                           

Response.Write("<table border=1>")
while (Not rs2.EOF)             

    Response.Write("<tr>")
    int_DocID              = rs2("DocId").Value

    Response.Write("<td><a href=""read.asp?DocID=" & int_DocID & " target=""_self"">"& rs2("DocName") &"</a></td>")
    Response.Write("<td>Ydelse pr mdr. ")

    strSQL = "SELECT DocumentLanguages.DocId AS DocId, DocumentLanguages.DocName AS DocName, DocumentFields.FieldValue AS FieldValue "&_
            " FROM Documents, DocumentLanguages, DocumentFields "&_
            " WHERE DocumentLanguages.DocName  = '" & rs2("docname") & "' "&_
            " AND (ParentID = 413) "&_
            " AND Documents.DocumentID = DocumentLanguages.DocId "&_
            " AND Documents.DocumentID = DocumentFields.DocID "&_
            " AND (secLevel <= " &mbl& ") "&_
            " AND ((DocumentLanguages.LangId = " & lang & ") AND (DocumentLanguages.ActiveRevisionStatus=5) )" &_
            " ORDER BY Documents.PublishDate DESC, DocumentLanguages.DocName"

    rs.Open strSQL, conn

                                                                                   
                tmptekst = ""
                If Not rs.EOF And Not rs.BOF Then Response.Write "" & vbNewLine
                While Not rs.EOF
                    'strDocID = rs("DocId").Value
                    'Response.Write "test <a href=""read.asp?DocID=" & strDocID & " target=""_self"">" & rs("DocName").Value & "</a>  " & vbNewLine & rs("FieldValue")
                   
                    strFieldValue = Trim(rs("fieldvalue")&"")
                    if(Len(strFieldValue)=0)then
                    'ingen værdi
                    else
                        if(inStr(1, LCase(strFieldValue), ".jpg")>0)then
                        '??
                        else
                            if(tmpTekst<>"")then
                                tmptekst = tmptekst & ", "
                            else
                            '??
                            end if
                            tmptekst = tmptekst &"</td><td>"& strFieldValue
                        end if
                    end if
                    rs.MoveNext
                Wend
                If Not rs.EOF And Not rs.BOF Then Response.Write "" & vbNewLine
                rs.Close

                                                               
            Response.Write tmptekst & "</td>"
             

rs2.moveNext

wend
Response.Write("</table>")
rs2.Close
Avatar billede solle Nybegynder
16. april 2008 - 11:45 #2
For din egen skyld (og personer som eventuelt skal læse din kode), vil jeg anbefale at du benytter variabler med navne der kan forstås :)

e.g.

strBike_Model = rs("blabla")    'str = streng, Bike_Model = indholdet af variablen
intBike_id    = rs("blablaID")  'int = integer, Bike_id = -||-
Avatar billede Bruno Sørensen Nybegynder
16. april 2008 - 15:36 #3
Det er jo næsten perfekt

Kan ses her http://cms.larsenmotorcykler.dk/default.asp?Docid=415&RevID=278&Tpl=Modules/Listbrugtmotorcykler/list_brugt1.asp

Men kan der ikke ændres på rækkefølgen i tabellen, så der står

Maerke, Model, Aargang, Pris, Ydelse, Link

som rækkefølge er nu er den

Link, Ydelse, Pris, info, Aagang, Model, Maerke
Avatar billede solle Nybegynder
16. april 2008 - 23:59 #4
Eftersom dine informationer ligger i hver sin række i tabellen, kan du lægge en "ORDER BY" i sql strengen, eller, du kunne tilføje et sorterings-integer-felt ind i tabellen med disse oplysninger, derved kan du selv styre hvilken rækkefølge du vil have dem i.
Avatar billede Bruno Sørensen Nybegynder
17. april 2008 - 10:00 #5
tak
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