Avatar billede fomse Nybegynder
28. juli 2004 - 10:49 Der er 11 kommentarer og
1 løsning

Irriterende mellemrum!!

Jeg har lavet et system hvor man melder sig til træning!!
Men når jeg viser tilmeldingerne kommer der nogle irriterende mellemrum mellem navnene....

Du kan se hvad jeg mener her:
http://www.team-ccc.dk/Træningstilmelding/vis.asp

Du kan hente systemet her:
http://www.team-ccc.dk/Træningstilmelding.zip

PLEASE en eller anden hjælp mig!!!!

Fomse:-)
Avatar billede hiks Nybegynder
28. juli 2004 - 10:52 #1
er det ik fordi der er en tilmeldning hvor der er undladt et navn - og derved fremkommer der et mellemrum? Prøv at tjek databasen!

/hiks
Avatar billede eagleeye Praktikant
28. juli 2004 - 10:54 #2
Hvis du tænker på afstanden imellem navne under hinanden så kan du styre det í table tagen:  <table> sæt border til 0 og cellspacing til 0

Så denne:
response.write "<table>"

Bliver:
response.write "<table border=""0"" cellspacing=""0"">"
Avatar billede fomse Nybegynder
28. juli 2004 - 10:55 #3
Nej Det er ikk edet!1

Kik på tirsdag!! og så på torsdag!!! Hvorfor står Henrik pludselig så langt nede?
Avatar billede jpvj Nybegynder
28. juli 2004 - 10:59 #4
Hvis du ser på HTML koden, så har du en masse tomme rækker:

<strong>Navn:</strong></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td>Henrik</td>

Dem skal du så ikke udskrive fra din ASP kode...
Avatar billede eagleeye Praktikant
28. juli 2004 - 11:01 #5
Fordi der er 9 tomme rækker i tabelen imellem navn og Henrik:

<tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>

Det kommer måske fordi din SQL sætningen henter flere end forventet når du tæller antal til tirsdag er det denne SQL sætning:
set rs = conn.execute("select count(tirsdag) as antal from tilmeld where tirsdag <> Null and tirsdag <> """" ")

Når du henter dem er det denne SQL sætning som ikke har samme WHERE del som den som tæller:
set rs = conn.execute("select tirsdag from tilmeld where tirsdag <> Null and tirsdag <> "''" Order By tirsdag Asc")

Så prøv at lave dem ens sådan den sidste som henter dem bliver:

set rs = conn.execute("select tirsdag from tilmeld Order By tirsdag Asc")
Avatar billede fomse Nybegynder
28. juli 2004 - 11:02 #6
Sådan skriver jeg fx. tirsdag ud:

<%
dim conn, strConn
strConn  = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(".")"/db.mdb"

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open strConn

set rs = conn.execute("select count(tirsdag) as antal from tilmeld where tirsdag <> Null and tirsdag <> """" ")

response.write "Der er <font color=""#FF0000"">" & rs("antal") & " </font>tilmeldt til træning tirsdag kl. 17.30."

set rs = conn.execute("select tirsdag from tilmeld Order By tirsdag Asc")

response.write "<table border=""0"" cellspacing=""0"" cellpadding=""0"">"
response.write "<tr>"
response.write "<td><strong>Navn:</strong></td>"
response.write "</tr>"

do while not rs.eof
response.write "<tr>"
response.write "<td>"& rs("tirsdag") &"</td>"
response.write "</tr>"
rs.movenext
loop   
response.write "</table>"
Avatar billede jpvj Nybegynder
28. juli 2004 - 11:02 #7
Uden at have dybde ananlyseret dit program, så skal alle dine output loops se nogenlunde således ud:

response.write "<table>"

    response.write "<tr>"
    response.write "<td><strong>Navn:</strong></td>"
    response.write "</tr>"

do while not rs.eof
    if (rs("tirsdag") <> "") then
        response.write "<tr>"
        response.write "<td>"& rs("tirsdag") &"</td>"
        response.write "</tr>"
        rs.movenext
    endif
loop   
response.write "</table>"
Avatar billede eagleeye Praktikant
28. juli 2004 - 11:02 #8
Hmm der skal lige byttes rund på de to sidste linjer med set rs = con....

Den korte :) Prøv at rette:
set rs = conn.execute("select tirsdag from tilmeld Order By tirsdag Asc")

Til:

set rs = conn.execute("select tirsdag from tilmeld where tirsdag <> Null and tirsdag <> '' Order By tirsdag Asc")
Avatar billede jpvj Nybegynder
28. juli 2004 - 11:04 #9
OK - jeg missede SQL delen. Det er naturligvis den pæneste løsning, og er enig med Eagleeye...
Avatar billede fomse Nybegynder
28. juli 2004 - 11:06 #10
Der virker!! Men!!!
Hvis der så ikke er indtastet noget kommer følgende fejl:

Microsoft JET Database Engine error '80040e10'

No value given for one or more required parameters.

/Træningstilmelding/vis.asp, line 104
Avatar billede fomse Nybegynder
28. juli 2004 - 11:07 #11
Sorry!! Det var mig som havde lavet en fejl!!
Det virker perfect.... Takker
Avatar billede kristoffer_o Nybegynder
28. juli 2004 - 11:18 #12
Din select ser sådan ud:
set rs = conn.execute("select torsdag from tilmeld Order By torsdag Asc")
Selecten vælger alle også dem der er tomme og derfor skriver den en masse tomme rows ud (<tr><td></td></tr>). Du burde vel lave selecten så den kun tager rækker hvor der er noget i torsdagsfeltet f.eks.:
set rs = conn.execute("select torsdag from tilmeld where torsdag > """" Order By torsdag Asc")

Du kunne også sortere i din løkke så den kommer til at se således ud:
do while not rs.eof and rs("torsdag") > ""
    response.write "<tr>"
    response.write "<td>"& rs("torsdag") &"</td>"
    response.write "</tr>"
    rs.movenext
loop

Jeg har ikke testet det, men jeg håber det er det du mener.

Mvh.
Kristoffer
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