Avatar billede mettecarsten Nybegynder
07. marts 2005 - 22:35 Der er 9 kommentarer

Oprette samme indhold i 2 tabeller

Hej eksperter

Når en ny bruger opretter sig, tilknyttes der automatisk personen en udlejningskalender med 53 uger, jf. dette:

<%
id = Session("hid")

SQL = "Select id from hus"


Hus = id

For a = 0 to 53
Uge = a

SQL = "INSERT INTO Uge(Hus, Uge, Ledigt)"
SQL = SQL & "Values("
    SQL = SQL & "'" & Hus & "',"
    SQL = SQL & "'" & Uge & "',"
    SQL = SQL & "'" & "checked" & "'"
    SQL = SQL & ")"
   
    Set RS = conn.execute(SQL)

Next

strSQL = "UPDATE hus set Oprettet =" & 1
strSQL= strSQl & "  Where  Id = " & hus


    Set RS2 = conn.execute(strSQl)

Response.Redirect "hoveroprettet.asp?id=" & id

%>

Nu vil jeg gerne have, at brugeren automatisk får oprettet 2 kalendere. Altså skal der oprettes 53 uger i både tabel Uge og tabel Uge2006.

Jeg har prøvet at response.redirect videre til en side magen til ovenstående kode, hvor jeg så bare rettede Uge til Uge2006, men det resulterer godt i 53 uger i begge tabeller, men de står ikke i rækkefølge, men blandet!

Hvad kan jeg gøre?

På forhånd tak.
Avatar billede tjaz Nybegynder
07. marts 2005 - 22:47 #1
Du har en tabel som hedder uge som updatere med 53 uger ... og så har du en tabel som hedder uge2006 hvor du vil have oprettet de samme 53 uger i, right?
Avatar billede mettecarsten Nybegynder
07. marts 2005 - 22:48 #2
Yes :-)

Jeg har prøvet noget med:

SQL = "INSERT INTO Uge AND Uge2006(Hus, Uge, Ledigt)"
Avatar billede tjaz Nybegynder
07. marts 2005 - 22:57 #3
Prøv noget henaf det her:

<%
id = Session("hid")

SQL = "Select id from hus"
Hus = id

For a = 1 to 53

Uge = a
SQL = "INSERT INTO uge(Hus, Uge, Ledigt)"
SQL = SQL & "Values("
    SQL = SQL & "'" & Hus & "',"
    SQL = SQL & "'" & Uge & "',"
    SQL = SQL & "'" & "checked" & "'"
    SQL = SQL & ")"
    Conn.Execute(SQL)
Next

For b = 1 to 53

Uge = b
SQL = "INSERT INTO uge2006(Hus, Uge, Ledigt)"
SQL = SQL & "Values("
    SQL = SQL & "'" & Hus & "',"
    SQL = SQL & "'" & Uge & "',"
    SQL = SQL & "'" & "checked" & "'"
    SQL = SQL & ")"
    Conn.Execute(SQL)
Next

strSQL = "UPDATE hus SET oprettet = '1' WHERE id = "& hus &"
Conn.execute(strSQl)

Response.Redirect "hoveroprettet.asp?id=" & id
%>
Avatar billede tjaz Nybegynder
07. marts 2005 - 22:58 #4
Ændrede lige din 0 to 53 til 1 to 53 ellers får du jo en uge 0 hvilket resultere i 54 uger :)
Avatar billede mettecarsten Nybegynder
07. marts 2005 - 23:10 #5
Det var faktisk rigtigt med uge 0, så det reelt bliver til 54 uger - uge 0 styrer, om annoncen er aktiv eller passiv.

Jeg har nu prøvet dit forslag, dog ændret

strSQL = "UPDATE hus SET oprettet = '1' WHERE id = "& hus &"
Conn.execute(strSQl)

til

strSQL = "UPDATE hus set Oprettet =" & 1
strSQL= strSQl & "  Where  Id = " & hus
Set RS2 = conn.execute(strSQl)

da den kom med en fejl. Herefter opretter den godt nok 54 uger i begge tabeller med rigtigt id-nr., men de bliver ikke oprettet kronologisk - i tabel Uge oprettes ugerne 41 - 53 først, hvorefter ugerne 0 - 40 oprettes - skal jo oprettes kronologisk?
Avatar billede tjaz Nybegynder
07. marts 2005 - 23:14 #6
Jeg gætter på at dit problem ligger i at du på en anden side udskriver ugerne med en ORDER BY id ... right ?
Avatar billede mettecarsten Nybegynder
07. marts 2005 - 23:17 #7
Umiddelbart ikke. Siden, som henter ugeoplysningerne, ser således ud:

<%
Hus = Request.Querystring("Id")

    Sql = "select id, Hus, uge, Ledigt, pris1, pris2 from Uge Where hus =" & Hus & " and uge Between 1 and 8"
    Set RS = conn.execute(SQL)
    Response.write "<tr>"
    %>

Det er også i selve mysql-databasen, at de er sat "rodet" ind.
Avatar billede tjaz Nybegynder
07. marts 2005 - 23:23 #8
Kan umiddelbart kun komme frem til at det er fordi din SQL bliver aviklet for hurtigt til at mysql kan nå at oprette dem i kronologisk rækkefølge ...

Er ikke sikker men mener at du kan indsætte en pause i din kode ved at indsætte:

'For 5 sek pause
pause(5)

i din kode... hvilket måske kan være med til at afhjælpe problemet.
Avatar billede mettecarsten Nybegynder
07. marts 2005 - 23:30 #9
Hvis jeg indsætter 5 sek. pause for hver indsættelse, så vil det jo tage mega lang tid med 108 indsættelser.

Det er måske ikke problemet, da det går uden problemer, hvis jeg nøjes med kun at oprette i Uge - det er altså meget mystisk ! Jeg må bliver ved med at prøve mig frem.

Jeg holder lige spg. åbent til i morgen, da andre måske har et forslag. Husk at smide et 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