Avatar billede lund_dk Praktikant
10. oktober 2007 - 15:24 Der er 4 kommentarer og
1 løsning

Udtræk tilfældige IDer fra DB

Jeg har en tabel

DESIGNS
med et ID

Jeg skal have lavet en kørsel, hvor jeg tager 2xID fra Designs og indsætter i tabellen BATTLE

BATTLE
ID | DESIGNID1 | DESIGNID2


MEN der skal tjekkes for at samme ID ikke bliver taget ud og sat ind som DESIGNID1 og DESIGNSID2 - hvordan løser jeg dette..?


Og hvis det kan lade sig gøre, må den også derefter tjekke om de 2 valgte designs ID'er har været i battle før..

nogen der kan hjælpe mig på vej med det..?
Avatar billede fennec Nybegynder
10. oktober 2007 - 15:27 #1
Hvilken database bruger du?
Avatar billede lund_dk Praktikant
10. oktober 2007 - 15:55 #2
Bruger MySQL database
Avatar billede fennec Nybegynder
10. oktober 2007 - 16:04 #3
Så kan du bruge rand() funktionen:
set rs = conn.execute("select * from DESIGNS order by rand() limit 2")
id1 = rs("id")
rs.MoveNext
id2 = rs("id")
conn.execute("insert into BATTLE(DESIGNID1,DESIGNID2) values("& id1 &", "& id´2 &")")
Avatar billede lund_dk Praktikant
10. oktober 2007 - 17:29 #4
Det virkede.. men jeg skal have lidt mere med, og det volder problemer

2 datoer, now() og slut med 4 dage efter,

Kan du se fejlen?

        strDage = 4
        strNu = now()
        strSlut = dateadd("d",strDage,strNu)
       
       
        set rs = conn.execute("select * from DESIGNS order by rand() limit 2")
        id1 = rs("id")
        rs.MoveNext
        id2 = rs("id")
        conn.execute("insert into BATTLE(DESIGNID1,DESIGNID2,START,SLUT) values("& id1 &", "& id2 &",#" & strNu & "#,#" & strSlut & "#)")
        rs.close
        set rs = nothing
Avatar billede fennec Nybegynder
11. oktober 2007 - 08:39 #5
MySQL skal haver datoer på dette format: 'yyyy-mm-dd'
Så du skal have formateret dine datoer efter det. Brug en funktion:

function DBTime(fTime)
  DBTime = year(fTime) &"-"& rigth("0"&month(fTime),2) &"-"& right("0"&day(fTime),2) &" "& right("0"&hour(fTime),2) &":"& right("0"&minute(fTime),2)
end function

conn.execute("insert into BATTLE(DESIGNID1,DESIGNID2,START,SLUT) values("& id1 &", "& id2 &",'" & DBTime(strNu) & "','" & DBTime(strSlut) & "')")
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