Avatar billede c Nybegynder
05. oktober 2003 - 00:32 Der er 1 løsning

Problem med Child kode.

Jeg har lavet denne kode, som også virker udenmærket, men men jeg har et lille problem.
Hvis et parrent indlæg er gammelt vises childet ikke, hvilket jo er et problem, da child indlæget ikke er for gammelt.

Det kan godt være at det er fordi at det er for sent nu til aften, men er der nogen der har nogen konkrete kode forslage, eller ideer til hvad jeg kan gøre?

hvor hvordan jeg skal liste indlægene.

Det skal lige siges at koden er til et fora.

koden er:
Function child(id, niv, kat, old)
    For i=0 to niv-1
        str_mellemrum = str_mellemrum &"    "
    next
    if not (newdays<>"") then
        newdays = 14
    end if
    SQL = "SELECT indlaeg.id, indlaeg.titel, indlaeg.dato As da2, Format$([indlaeg.dato],'\d\. dd/mm/yyyy kl. hh:mm') AS FormDate, brugere.navn FROM indlaeg INNER JOIN brugere ON indlaeg.af = brugere.id WHERE indlaeg.parrent="&id &" AND gammelt="& old
    if (kat <> 0) then
        SQL = SQL &" AND kat = "& kat
    end if
    if (id = 0) then
        SQL = SQL &" ORDER BY indlaeg.id DESC"
    else
        SQL = SQL &" ORDER BY indlaeg.id ASC"
    end if
    set rs_child = conn.execute(sql)
    Do While not (rs_child.BOF or rs_child.EOF)
        if niv = 0 then
            response.write("<tr bgcolor=""#f0f0f0"">"&VbCrLf&"<td>"&VbCrLf)
        end if
        response.write(str_mellemrum)
        response.write("<a href=""sepost.asp?id="&rs_child("id")&""">")
        response.write rs_child("titel")
        response.write("</a> ")
        response.write(" af ")
        response.write("<i>"& rs_child("navn")&" </i>")
        response.write( rs_child("Formdate") &"")

        if (datediff("d", rs_child("da2"), date()) < newdays) then
            response.write(" <font color=""RED""><b>NY</b></font>")
        end if
        response.write("<br>"&vbCrlf)

        child rs_child("id"), (niv+1), kat, old
        if niv = 0 then
            response.write("</td>"&VbCrLf&"</tr>"&VbCrLf)
        end if
        rs_child.movenext
    loop

end function

mvh
Christian
Avatar billede nielle Nybegynder
05. oktober 2003 - 09:13 #1
1) Du skal fjerne betingelsen på old fre dit SQL kald. I stedet skal old være en af de værdier du udtrækker. Du skal altså udtrække alt - både nye og gamle indlæg.

2) I den del af din kode, hvor du udskriver, starter du med at tjekke om indlægget er old eller ej. Hvis det er old udskrives det ikke.

3) Når du kalder child skal du ikke tjekke om indlægget er old eller ej - du skal kalde child for alle indlæg.

Forresten... Hvorfor bruger du "function"? Du returnere jo ikke nogen værdi. "sub" ville være det korretke valg.
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