Avatar billede dudesicko Novice
07. februar 2008 - 06:32 Der er 5 kommentarer og
2 løsninger

Skal have fundet ID nummer på.

En ven har lavet et simpelt bookingsystem til min svigerfar, men jeg vil lige lave en smule om i det, men sider nu lidt fast.

Jeg skal have den til at skrive ID nummer ved siden af den tekst der står "Optaget", så jeg kan se hvad bruger der er der har booket, men har brugt en del tid i nat på at rode rundt, men er slet ikke kommet nogen vejne :(

Nå men den del jeg tror i skal bruge er herunder, er der ikke en der kan kigge med et par friske øjne på det, da jeg tror det er sengetid nu for mig :(

Som sagt alt der skal er der skal stå bruger ID ved siden af Optaget.


<p>&nbsp;</p>
<table cellspacing="0" cellpadding="2" align="center" border="1">
<tr class="CalTop">
    <td style="width: 57px">Uge <%= datepart("ww",dtmDate,2) %></td>
    <td style="width:250px; text-align: center;"><%= dtmDate %></td>

</tr>
<% for f=6 to 22 %>
<tr>
<%        tdText = ""
        tdClass = "freeTD"
        set oRS = Conn.execute("select * from Booking where BookDate=#"& DBDate(dtmDate) &" "& right("0"&f,2) &":00:00#")
        if oRs.eof then
            tdText = tdText &"<a href="""& scriptname &"?mode=book&amp;type=1&amp;date="& dtmDate &"&amp;kl="& f &""">Book denne tid.</a> "
        else
            if oRs("userID") = session("userID") then
                tdText = tdText &"De har booket denne tid"
                if oRs("bookType") = 1 then
                    tdText = tdText &".&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
                else
                    tdText = tdText &".&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
                end if
                tdText = tdText &"<a href="""& scriptname &"?mode=del&amp;date="& dtmDate &"&amp;delID="& oRs("ID") &"""><font style=""color: #000000"">Slet</font></a>"
                tdClass = "bookedTD"
            else
                tdText = tdText &"Optaget"
                tdClass = "takenTD"
            end if
        End If %>
    <td class="<%= tdClass %>"><font style="font-size: small"><%= right("0"&f,2) %>:00</font></td>
    <td class="<%= tdClass %>"><font style="font-size: small"><%= tdText %></font></td>
</tr>
<% next %>
</table>


Skal i bruge mere så sig endelig til.
Avatar billede w13 Novice
07. februar 2008 - 09:53 #1
<p>&nbsp;</p>
<table cellspacing="0" cellpadding="2" align="center" border="1">
<tr class="CalTop">
    <td style="width: 57px">Uge <%= datepart("ww",dtmDate,2) %></td>
    <td style="width:250px; text-align: center;"><%= dtmDate %></td>

</tr>
<% for f=6 to 22 %>
<tr>
<%        tdText = ""
        tdClass = "freeTD"
        set oRS = Conn.execute("select * from Booking where BookDate=#"& DBDate(dtmDate) &" "& right("0"&f,2) &":00:00#")
        if not oRs.eof then
            iUserID=oRs("userID")
            tdText = tdText &"<a href="""& scriptname &"?mode=book&amp;type=1&amp;date="& dtmDate &"&amp;kl="& f &""">Book denne tid.</a> "
        else
            if iUserID = session("userID") then
                tdText = tdText &"De har booket denne tid"
                if oRs("bookType") = 1 then
                    tdText = tdText &".&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
                else
                    tdText = tdText &".&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
                end if
                tdText = tdText &"<a href="""& scriptname &"?mode=del&amp;date="& dtmDate &"&amp;delID="& oRs("ID") &"""><font style=""color: #000000"">Slet</font></a>"
                tdClass = "bookedTD"
            else
                tdText = tdText &"BrugerID: "&iUserID&" "
                tdText = tdText &"Optaget"
                tdClass = "takenTD"
            end if
        End If %>
    <td class="<%= tdClass %>"><font style="font-size: small"><%= right("0"&f,2) %>:00</font></td>
    <td class="<%= tdClass %>"><font style="font-size: small"><%= tdText %></font></td>
</tr>
<% next %>
</table>
------------------------------------------------------
Fejlen var nok, at man kun kan bruge oRs("noget") én gang, så derfor lagde jeg oRs("userid") over i en variable, der kan genbruges.

Og i øvrigt hav du en:
  if oRs.eof then
som vel burde være:
  if not oRs.eof then
Avatar billede dudesicko Novice
07. februar 2008 - 20:51 #2
Mange tak, men får en anden fejl nu.

Microsoft VBScript runtime  error '800a01f4'

Variable is undefined: 'iUserID'

/martin/kalender01.asp, line 224


her er hele koden burde jeg nok havde vist fra starten af så.




<% @LANGUAGE = VBScript %><% Option Explicit %><%
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
Response.Expires = -1

dim strDSN, scriptname, mode, Conn, errorString, ors, f, userID, tid, tdText, tdClass


if isNumeric(session("userID")&"") then
    userID = cint(session("userID"))
else
    response.redirect("default.asp")
end if


strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../../database/knaldparle.mdb")

scriptname = Request.ServerVariables("SCRIPT_NAME")
mode = Request.Querystring("mode")

Set Conn = Server.createObject("ADODB.Connection")
Conn.Open strDSN

if mode = "book" then
    tid = "#"& DBDate(request.querystring("date")) &" "& right("0"&cLng(request.querystring("kl")),2) &":00:00#"
    set oRS = Conn.execute("select * from Booking where BookDate="& tid)
    if not oRs.eof then
        response.write "Tiden er booket"
        response.end
    end if
    Conn.execute("insert into Booking(UserID,BookDate,BookType) values("& cLng(session("userID")) &","& tid &","& cLng(request.querystring("type")) &")")
    response.redirect(scriptname &"?date="& request.querystring("date"))
    response.end
elseif mode = "del" then
'    response.write "sdkvd"
    if isNumeric(request.querystring("delID")&"") then
'        response.write "sdkvsd"
        Conn.execute("delete from Booking where userID="& cLng(session("userID")) &" and id="& cLng(request.querystring("delID")&""))
    end if
   
    response.redirect(scriptname &"?date="& request.querystring("date"))
    response.end
end if

function DBDate(fDate)
dim fDay, fMonth, fYear
    fDay = right("0"&DAY(fDate),2)
    fMonth = right("0"&month(fDate),2)
    fYear = year(fDate)
    DBDate = fMonth &"-"& fDay &"-"& fYear
end function
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<!--#include file="header2.asp"-->

<style>
.bookedTD{
    background-Color: #009900;
    color: #FFFFFF;
    font-weight: bold;
}
.freeTD{background-Color:#FFFFFF;color:#000000;}
.takenTD{
    background-Color: #CC0000;
    color: #FFFFFF;
    font-weight: bold;
}

.bookedTD A{color:#000000;}
.freeTD A{color:#000000;}
.takenTD A{color:#000000;}

.CalTop{
    background-Color: #D1D1D1;
    color: #000000;
    text-transform: capitalize;
}
.CalBottom{
    background-Color: #D1D1D1;
    color: #000000;
}
.CalBottom A{color:#000000;
    font-size: x-small;
}
.CalDayNames{
    text-align: center;
    background-color: #F2F2F2;
    font-family: verdana;
    font-size: small;
}
.CalDays, .CalDays A{text-align:center;color:#000000;}
.style1 {
    border: 1px solid rgb(0,0,0);
}
.%> {
    border-color: #F2F2F2;
    border-width: 1px;
}
.%> {
    border-color: #F2F2F2;
    border-width: 1px;
}
.%> {
    border-color: #008000;
    border-width: 1px;
}
.%> {
    border-width: 1px;
}
.%> {
    font-size: x-small;
}
.%> {
    font-size: medium;
}
</style>


<p style="text-align: center">Booking 01<br>
</p>

<%

dim dtmDate, dtmToday, intYear, strMonth, intDayOfMonth, dtmFirstDate
dim intFirstDay, y, blnLast, x, intLoopDay, dtmCurDate

dtmDate = Request.QueryString("date")
dtmToday = Date

If dtmDate = "" Then
  dtmDate = Date
Else
  dtmDate = CDate(dtmDate)
End if

intYear = Year(dtmDate)
strMonth = MonthName(Month(dtmDate))
intDayOfMonth = Day(dtmDate)
dtmFirstDate = DateAdd("d", (-intDayOfMonth)+1, dtmDate)
intFirstDay = Weekday(dtmFirstDate, vbMonday)
%>

<div align="center"><center>

<table cellspacing="0" cellpadding="5" border="0" class="style1">
<tr>
<td class="CalTop" colspan="7" align="center" valign="middle">
<strong class="CalTop"><%=strMonth%>&nbsp;<%=intYear%></strong></td>
</tr>
<tr style="border-style: solid; border-color: #FF0000" class="CalDayNames">
<td class="CalDayNames">Man </td>
<td class="CalDayNames">Tir </td>
<td class="CalDayNames">Ons </td>
<td class="CalDayNames">Tor </td>
<td class="CalDayNames">Fre </td>
<td class="CalDayNames"><%= server.HTMLEncode("Lør") %></td>
<td class="CalDayNames"><%= server.HTMLEncode("Søn") %></td>
</tr>
<%
For y = 1 to 6
  If blnLast <> True Then
    Response.Write "<tr>"
    For x = 1 to 7
      Response.Write "<td class=""CalDays"">"
      intLoopDay = intLoopDay + 1
      If intLoopDay >= intFirstDay Then
        dtmCurDate = DateAdd("d", intLoopDay-intFirstDay, dtmFirstDate)
        If Month(dtmCurDate) = Month(dtmFirstDate) Then
'          If dtmCurDate = dtmToday Then
'            Response.Write "<strong><font color=#ff0000>"
'          End If
          If dtmCurDate = dtmDate Then
            Response.Write "<span style=""border:1px solid black;font-weight:bold;"">"
          else
            Response.Write "<span>"
          End If
         
          Response.Write "<a href="""& scriptname &"?date="& dtmCurDate &""">"& Day(dtmCurDate) &"</a>"
          Response.Write "</span></td>"
          blnLast = False
        Else
          Response.Write "-</td>"
          blnLast = True
        End If
      Else
        Response.Write "-</td>"
        blnLast = True
      End if
    Next
  End If
Next
Response.Write "</td></tr>"
%>
<tr>
<td class="CalBottom" colspan="3"><b><a href="kalender02.asp?date=<%=DateAdd("m",-1,dtmFirstDate)%>">Forrige</a></b></td>
<td class="CalBottom">&nbsp;</td>
<td class="CalBottom" colspan="3" align="right"><b><a href="kalender02.asp?date=<%=DateAdd("m",1,dtmFirstDate)%>"><%= server.htmlEncode("Næste") %></a></b></td>
</tr>
</table>
</center></div>



<p>&nbsp;</p>
<table cellspacing="0" cellpadding="2" align="center" border="1">
<tr class="CalTop">
    <td style="width: 57px">Uge <%= datepart("ww",dtmDate,2) %></td>
    <td style="width:250px; text-align: center;"><%= dtmDate %></td>

</tr>
<% for f=6 to 22 %>
<tr>
<%        tdText = ""
        tdClass = "freeTD"
        set oRS = Conn.execute("select * from Booking where BookDate=#"& DBDate(dtmDate) &" "& right("0"&f,2) &":00:00#")
        if not oRs.eof then
            iUserID=oRs("userID")
            tdText = tdText &"<a href="""& scriptname &"?mode=book&amp;type=1&amp;date="& dtmDate &"&amp;kl="& f &""">Book denne tid.</a> "
        else
            if iUserID = session("userID") then
                tdText = tdText &"De har booket denne tid"
                if oRs("bookType") = 1 then
                    tdText = tdText &".&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
                else
                    tdText = tdText &".&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
                end if
                tdText = tdText &"<a href="""& scriptname &"?mode=del&amp;date="& dtmDate &"&amp;delID="& oRs("ID") &"""><font style=""color: #000000"">Slet</font></a>"
                tdClass = "bookedTD"
            else
                tdText = tdText &"BrugerID: "&iUserID&" "
                tdText = tdText &"Optaget"
                tdClass = "takenTD"
            end if
        End If %>
    <td class="<%= tdClass %>"><font style="font-size: small"><%= right("0"&f,2) %>:00</font></td>
    <td class="<%= tdClass %>"><font style="font-size: small"><%= tdText %></font></td>
</tr>
<% next %>
</table>
<!--#include file="footer.asp"-->
Avatar billede mitbrugernavn Praktikant
07. februar 2008 - 21:59 #3
husk når du opretter en variabel skal du også huske at dim den - iUserID er den nye variabel og den skal du så dim her

dim dtmDate, dtmToday, intYear, strMonth, intDayOfMonth, dtmFirstDate
dim intFirstDay, y, blnLast, x, intLoopDay, dtmCurDate,iUserID

så skulle det svinge for dig
Avatar billede w13 Novice
07. februar 2008 - 22:24 #4
Jeps. Når du har "Option Explicit" i din kode, skal alle variabler Dim'es.
Avatar billede dudesicko Novice
08. februar 2008 - 00:12 #5
Ok mange tak, nu melder den da ikke fejl mere, men det er dog stadig ikke helt som det skal være.

10:00      BrugerID: Optaget
11:00     BrugerID: Optaget
12:00     BrugerID: Optaget

Den viser nu alle dage som optaget, og alle tidspunkter, men jeg prøvre dog lige lidt videre også, men har i en hurtig løsning er i velkommen til at skrive :D
Avatar billede mitbrugernavn Praktikant
16. februar 2008 - 09:40 #6
hvordan er det gået ??
Avatar billede w13 Novice
24. april 2008 - 12:06 #7
Kommet videre?
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