Avatar billede and_ Nybegynder
12. marts 2003 - 15:35 Der er 11 kommentarer og
1 løsning

evt. en løkke der kan lave rækker.... Rækkerne hentes fra base...

Hej :)

Jeg har en base hvor jeg åbner for nogle links...

Værdien i basen for at åbne links er 1 og et lukket link er 0...

Hvis et link er åbent skal det vises hvorimod hvis den er lukket skal den ikke vises.

Dette gør jeg med:

<%
while not rs.eof

if rs("link1") = "1" then
%>
 
  skriver link kode

<%
end if

rs.movenext
wend
%>

Jeg skal have lavet en tabel der viser links'ene efterhånden som de er åbnet.

fx. hvis 4 link er åbnet (der kan ikke være flere end 4 <td>-tag på i en række) skal den udskrive dette fra basen...

Hvis kun 3 link er åbnet skal den stadig lave 4 <td> men den sidste skal være tom....

Hvis der er flere end 4 (fx. 6) der er åbnet skal den lave en ny række med 4 i øverste og 2 i nederste....

Indholdet er som sagt dynamisk fra base afhængigt af hvor mange link der er åbne...

Hvordan kan jeg evt. lave dette.....
Avatar billede carpediem Nybegynder
12. marts 2003 - 15:51 #1
Response.Write "<TABLE>"
i = 0
While not rs.eof
    If i = 0 Then
      Response.Write "<TR>"
    End If
    Response.Write "<TD>linkkode</TD>"
    i = i + 1
    If i = 4 Then
      i = 0
      Response.Write "</TR>"
    End If
        rs.movenext
Wend
If i > 0 Then
    For y = 1 to 4-i
        Response.Write "<TD>&nbsp;</TD>"
    Next
    Response.Write "</TR>"
End if
Response.Write "</TABLE>"
Avatar billede and_ Nybegynder
12. marts 2003 - 16:33 #2
Jeg tror du har misforstået.....


Mine data ligger i en tabel hvor linknavnene er defineret i feltet og hvor switchen siger enten 1 eller 0.

Jeg har ikke rigtig kunnet finde en metode der kan gennemløbe disse felter....


|-----------------------------------------------------------------|
|id  |  Link1  |  link2  |  link3  |  link4  |  link5  |  link6  |
|-----------------------------------------------------------------|
|54  |    0    |    1    |    1    |  1    |    0    |    0    |
|-----------------------------------------------------------------|

Jeg håber du forstår mit lille "kunstværk"

nu har jeg lavet den til link6, men den kunne eksempelvis fortsætter til link123
Avatar billede carpediem Nybegynder
12. marts 2003 - 16:42 #3
Ja, så havde jeg misforstået det. Og du ved ikke hvormange kolloner der er i tabellen?
Avatar billede and_ Nybegynder
12. marts 2003 - 16:58 #4
den vil på en måde altid være "dynamisk" - det afhænger af hvor mange links der er tilknyttet.....
Avatar billede nuno Nybegynder
12. marts 2003 - 17:05 #5
du kunne vel lave et lidt "pænere" databasedesign istedet - og normalisere ud så du får en link-tabel istedet

Hvis du i dit nuværende design har et id - fx 53 - med 200 links - og det id med næstflest links fx har 15 - så vil du have 185 tomme felter/NULL værdier på samtlige de resterende id'er i tabellen.

Jeg ville nok forsøge noget lign. det her:

Oprindelig tabel:
id kolonne1 kolonne2 osv.

Link tabel
id link

og så for hvert nyt link der kommer til et id i den oprindelige tabel - så indsætte en instans i link-tabellen med id'et og dit link i den nye tabel.

/nuno
Avatar billede and_ Nybegynder
12. marts 2003 - 17:09 #6
Jeg har overvejet at lave den om, men så skal jeg ind og omkode en masse siderrrrrrrrrrrrrrrrrr...

øv bøv, men der er vel ikke noget at gøre.....
Avatar billede -mundi- Nybegynder
12. marts 2003 - 17:09 #7
dim tdcount,temp
tdcount=0

if not rs.eof then
    response.write "<table><tr>"
end if

while not rs.eof
    temp=rs("link1")
    if temp = "1" then
        response.write "<td>"&temp&"</td>"
        tdcount=tdcount+1
    end if
    if tdcount=4 then
        response.write "</tr><tr>"
        tdcount=0
    end if
    rs.movenext
wend
if not rs.eof then
    response.write "</tr></table>"
end if
%>

kan den her gøre det ? har ikke testet det, men er det noget i den stil ?
Avatar billede and_ Nybegynder
12. marts 2003 - 17:11 #8
det ligner det ihvertfald, men jeg har først tid til at lege med det om en times tid....
Avatar billede -mundi- Nybegynder
12. marts 2003 - 17:14 #9
rettelse:

dim tdcount,temp,eof
tdcount=0

eof=rs.eof
if not eof then
    response.write "<table><tr>"
end if

while not rs.eof
    temp=rs("link1")
    if temp = "1" then
        response.write "<td>"&temp&"</td>"
        tdcount=tdcount+1
    end if
    if tdcount=4 then
        response.write "</tr><tr>"
        tdcount=0
    end if
    rs.movenext
wend
if not eof then
    response.write "</tr></table>"
end if
%>
Avatar billede -mundi- Nybegynder
12. marts 2003 - 17:15 #10
jeg er nok ikke online før sent i aften, eller imorgen
Avatar billede and_ Nybegynder
12. marts 2003 - 19:25 #11
Et par få tilpasninger - så var den der med det samme ;)
Avatar billede -mundi- Nybegynder
13. marts 2003 - 08:59 #12
Super :-)
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