Avatar billede webnoob Nybegynder
10. december 2005 - 23:34 Der er 17 kommentarer og
2 løsninger

table med asp

jeg har prøvet at lave en table hvor jeg trækker data ud af min database. Lige nu er det kun lykkedes mig at for de samme dataer i en række, jeg vil gerne have det skal være i hver <TD>, hvis du forstår......

mit script ser ud som følgende:

<table width=100% height=* border=5 bordercolor=#663300 cellpadding="5">
<tr>
<%
strSQL = "Select * From adresse where kompagni like '%"&request.querystring("kom")&"%' and deling like'%"&request.querystring("del")&"%' Order by Fornavn Asc"
Set record = rs.Execute(strSQL)

Do while not record.eof
  strNavn = record("fornavn")&" "&record("mellemnavn")&" "&record("efternavn")

  strLink = "<a href=person.asp?id=" & record("Id") & ">" & strNavn & "</a>"

  Response.Write " <td width=33% align=center>" & strLink & "</td> <td width=33% align=center>" & strLink & "</td> <td width=33% align=center>" & strLink & "</td></tr><tr> "

  record.MoveNext
loop
%>
</tr>
</table>


Håber der er en der kan hjælpe mig.
Avatar billede nielle Nybegynder
10. december 2005 - 23:48 #1
F.eks. sådan?

<table width=100% height=* border=5 bordercolor=#663300 cellpadding="5">
<%
strSQL = "SELECT * FROM adresse WHERE kompagni LIKE '%"&request.querystring("kom")&"%' AND deling LIKE '%"&request.querystring("del")&"%' ORDER BY Fornavn ASC"
Set record = rs.Execute(strSQL)

Do while not record.eof
    strNavn = record("fornavn") & " " & record("mellemnavn") & " " & record("efternavn")

    strLink = "<a href=person.asp?id=" & record("Id") & ">" & strNavn & "</a>"

    Response.Wrire "<tr>"
    Response.Write " <td width=33% align=center>" & strLink & "</td> <td width=33% align=center>" & strLink & "</td> <td width=33% align=center>" & strLink & "</td></tr><tr> "
    Response.Write "</tr>"

    record.MoveNext
Loop
%>
</table>
Avatar billede webnoob Nybegynder
11. december 2005 - 00:02 #2
narj, det giver det samme resultat. lige nu er det sådan her

DBdata1 | DBdata1 | DBdata1
-------------------------------
DBdata2 | DBdata2 | DBdata2
-------------------------------
osv. osv.

det skulle gerne se sådan her ud

DBdata1 | DBdata2 | DBdata3
---------------------------------
DBdata4 | DBdata5 | DBdata6
---------------------------------
osv. osv.

kan du følge mig?
Avatar billede busschou Praktikant
11. december 2005 - 08:20 #3
Så må du lave en tæller som efter hver td tæller een op, og når dens modulus med 3 er 0 så skal du så lave en td ...noget ala
-------
<table width=100% height=* border=5 bordercolor=#663300 cellpadding="5">
<%
strSQL = "SELECT * FROM adresse WHERE kompagni LIKE '%"&request.querystring("kom")&"%' AND deling LIKE '%"&request.querystring("del")&"%' ORDER BY Fornavn ASC"
Set record = rs.Execute(strSQL)
counter = 1
Do while not record.eof
  strNavn = record("fornavn") & " " & record("mellemnavn") & " " & record("efternavn")
  strLink = "<a href=person.asp?id=" & record("Id") & ">" & strNavn & "</a>"
  if counter mod 3 = 1 then
    Response.Wrire "<tr>"
  end if
  Response.Write " <td width=33% align=center>" & strLink & "</td> "
  if counter mod 3 = 0 then
    Response.Write "</tr>"
  end if
  counter = counter + 1
  record.MoveNext
Loop
%>
</table>
-----
Afhængig af om du har et præcist antal som gør du kan fylde en hel tabel med tre kolonner eller ej så skal du tage højde for at du måske kan ende ud i at din sidste (nederste) tabel række måske ikke er fuld og at din html kode måske skal afsluttes uden for løkken
Avatar billede nielle Nybegynder
11. december 2005 - 09:20 #4
<table width=100% height=* border=5 bordercolor=#663300 cellpadding="5">
<%
strSQL = "SELECT * FROM adresse WHERE kompagni LIKE '%"&request.querystring("kom")&"%' AND deling LIKE '%"&request.querystring("del")&"%' ORDER BY Fornavn ASC"
Set record = rs.Execute(strSQL)

Do While Not record.EOF
    strNavn = record("fornavn") & " " & record("mellemnavn") & " " & record("efternavn")

    strLink = "<a href=person.asp?id=" & record("Id") & ">" & strNavn & "</a>"

    Response.Write "<tr>"
    Response.Write "<td width=33% align=center>" & strLink & "</td> <td width=33% align=center>" & strLink & "</td> <td width=33% align=center>" & strLink & "</td>"
    Response.Write "</tr>"

    record.MoveNext
Loop
%>
</table>
Avatar billede webnoob Nybegynder
11. december 2005 - 12:33 #5
busschou >>> Det virker heller ikke optimalt, tabelen er en adresseliste og den går ikke op i at der er nok til at fylde alle tre <TD>'er i en række.

Jeg vil bare gerne have tabelen er på tre kolonner, så selvom der kun er nok til at fylde to kolonner ud så skal den stadig være tre bred.
Avatar billede nielle Nybegynder
11. december 2005 - 13:05 #6
<table width="100%" border="5" bordercolor="#663300" cellpadding="5">
<%
strSQL = "SELECT * FROM adresse WHERE kompagni LIKE '%"&request.querystring("kom")&"%' AND deling LIKE '%"&request.querystring("del")&"%' ORDER BY Fornavn ASC"
Set record = rs.Execute(strSQL)

counter = 0

Do While Not record.EOF
    If counter Mod 3 = 0 Then
        If counter <> 0 Then Response.Write "</tr>"
        Response.Write "<tr>"
    End If

    strNavn = record("fornavn") & " " & record("mellemnavn") & " " & record("efternavn")

    strLink = "<a href=person.asp?id=" & record("Id") & ">" & strNavn & "</a>"

    Response.Write "<td width=33% align=center>" & strLink & "</td><td width=33% align=center>" & strLink & "</td><td width=33% align=center>" & strLink & "</td>"

    counter = counter + 1

    record.MoveNext
Loop

Do While counter Mod 3 <> 0
    Response.Write "<td>&nbsp;</td>"
    counter = counter + 1
Loop
%>
</tr>
</table>
Avatar billede webnoob Nybegynder
11. december 2005 - 13:11 #7
det er heller ikke rigtigt, nu er det sådan her:

------------------------------------------------------------------------------------
DBdata1 | DBdata1 | DBdata1 | DBdata2 | DBdata2 | DBdata2 | DBdata3 | DBdata3 | DBdata3|
------------------------------------------------------------------------------------
Avatar billede nielle Nybegynder
11. december 2005 - 13:20 #8
Ret:

Response.Write "<td width=33% align=center>" & strLink & "</td><td width=33% align=center>" & strLink & "</td><td width=33% align=center>" & strLink & "</td>"

- til:

Response.Write "<td width=33% align=center>" & strLink & "</td>"
Avatar billede webnoob Nybegynder
11. december 2005 - 13:26 #9
Super nielle, det virker, mange tak. Måske du lige kan hjælpe mig med en ting jeg lige er kommet på.

Kan det lades sig gøre at for forskellige baggrundsfarver i <td>'erne, afhændig af fx. postnummer?
Avatar billede nielle Nybegynder
11. december 2005 - 13:38 #10
Ja det kan det godt. Har du et noget specifikt ønske?
Avatar billede webnoob Nybegynder
11. december 2005 - 13:42 #11
ja det har jeg jeg skal bruge farverne rød, hvis og blå, afhændig om den person som bliver vist i <td>'en er i gruppe 1, 2 eller 3
Avatar billede nielle Nybegynder
11. december 2005 - 13:46 #12
Jeg har lidt svært ved at se sammenhængen med postnumre. Er gruppe1, ...2 og ...3 felter du kan aflæse direkte fra din database, eller er det værdier som skal udregnes?
Avatar billede webnoob Nybegynder
11. december 2005 - 13:50 #13
ok ok, jeg har i min database en kolonne der hedder gruppe, der kan der stå 1. gruppe(rød), 2. gruppe(hvid) eller 3. gruppe(blå).

kan du følge mig nu?
Avatar billede nielle Nybegynder
11. december 2005 - 14:15 #14
Et bud:

<table width="100%" border="5" bordercolor="#663300" cellpadding="5">
<%
strSQL = "SELECT * FROM adresse WHERE kompagni LIKE '%"&request.querystring("kom")&"%' AND deling LIKE '%"&request.querystring("del")&"%' ORDER BY Fornavn ASC"
Set record = rs.Execute(strSQL)

counter = 0

Do While Not record.EOF
    If counter Mod 3 = 0 Then
        If counter <> 0 Then Response.Write "</tr>"
        Response.Write "<tr>"
    End If

    strNavn = record("fornavn") & " " & record("mellemnavn") & " " & record("efternavn")

    strLink = "<a href=person.asp?id=" & record("Id") & ">" & strNavn & "</a>"

    Select Case record("gruppe")
        Case "1. gruppe" : bgColor = "red"
        Case "2. gruppe" : bgColor = "white"
        Case "3. gruppe" : bgColor = "blue"
        Case Else : bgColor = "#123456"
    End Select

    Response.Write "<td width='33%' align='center' style='background-color: " & bgColor & "'>" & strLink & "</td><td width=33% align=center>" & strLink & "</td><td width=33% align=center>" & strLink & "</td>"

    counter = counter + 1

    record.MoveNext
Loop

Do While counter Mod 3 <> 0
    Response.Write "<td>&nbsp;</td>"
    counter = counter + 1
Loop
%>
</tr>
</table>
Avatar billede webnoob Nybegynder
11. december 2005 - 22:29 #15
nielle du er for hardcord ;o) det virker og jeg siger mange tak, lig et svar så du kan få pointene.
Avatar billede nielle Nybegynder
11. december 2005 - 22:39 #16
Jeg synes nu også at busschou hat fortjent point på denne her. :^)
Avatar billede webnoob Nybegynder
11. december 2005 - 22:42 #17
jamen fair nok, han har selvfølgelig tilføjt viden om hvordan det skal se ud, så ok vi venter på han også ligger et svar.
Avatar billede busschou Praktikant
13. december 2005 - 19:34 #18
kommer et her, jeg får desværre ikke nogen mails fordi jeg ikke er pro mere, tror jeg...mega skod :o(
Avatar billede nielle Nybegynder
13. december 2005 - 19:37 #19
Svar :^)
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