webForumDet fria alternativet

Konferansbokning

ASP

26 svar · 536 visningar · startad av ironhead · sida 2 av 2

Frågan, av ironhead

Om man vill göra en konferansbokning enligt följande: Tid |namn |övrigt| \--------------------------- 08\.00-09.00|Olle | | 09\.00-10.00| | | 10\.00-11.00|Patrick| | \--------------------------- osv. Hur är det bäst att göra detta för att lagra i en databas? Det ska vara fasta tider (10 st,08-

Läs frågan i sin helhet →
Medlem sedan mars 20011 346 inlägg
#21

Det väsentliga:

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DSN=dbDev;UID=sa;PWD="
SQL = "Select tid.sTime, bok.sName, bok.sInfo, bok.sDate FROM tblTime tid LEFT JOIN tblBooking bok ON tid.sTimeId = bok.sTimes WHERE Datepart(year, sDate) = " & iYear & " AND Datepart(month, sDate) = " & iMonth & " AND Datepart(day, sDate) = " & iDay & " ORDER BY sDate ASC"
Set RS=conn.Execute(SQL)

<table width="308" border="1" cellspacing="0" cellpadding="0">
<%Do Until RS.EOF%> 
  <tr> 
    <td class="Booking"><%=RS("sTime")%></td>
    <td class="Booking"><%=RS("sName")%></td>
    <td class="Booking"><%=RS("sInfo")%></td>
<%RS.MoveNext
  Loop%>
  </tr>
</table>

Förmodligen listar den bara RS där jag har ett värde eftersom jag använder WHERE, men jag måste ju få bokningen på rätt datum.

Medlem sedan juni 2001206 inlägg
#22

Det var lite klurigt men jag kom på ett sätt som kanske går (inte testat). Jag förmodar att besökaren trycker på en länk som är till ett visst datum. Isåfall kan du skicka med en QueryString med det datumet. Det datumet kan sedan jämföras med sDate i databasen. Du får fixa din Date själv, här är ett ex.

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DSN=dbDev;UID=sa;PWD="
SQL = "Select tid.sTime, bok.sName, bok.sInfo, bok.sDate FROM tblTime tid LEFT JOIN tblBooking bok ON tid.sTimeId = bok.sTimes"
Set RS=conn.Execute(SQL)
<table width="308" border="1" cellspacing="0" cellpadding="0">
<%Do Until RS.EOF%> 
<tr> 
<td class="Booking"><%=RS("sTime")%></td>
<td class="Booking"><%If RS("sDate") = Request.QueryString("datum") Then%>
<%=RS("sName")%><%End If%></td>
<td class="Booking"><%If RS("sDate") = Request.QueryString("datum") Then%>
<%=RS("sInfo")%><%End If%></td>[b]</tr>[/b]
<%RS.MoveNext
Loop%>
</table>

EDIT: </tr> Måste vara innan MoveNext och Loop för att få en ny rad.

------------------
MVH
Harback

[Redigerat av Harback den 08 aug 2001]

Medlem sedan mars 20011 346 inlägg
#23

Åh! Tack tack tack Harback...det fungerar suvveränt.
Tack för ditt tålamod med en ihoprostad järnskalle :)

Medlem sedan juni 2001206 inlägg
#24

Det är lugnt! :) Kul att det löste sig!

------------------
MVH
Harback

Medlem sedan mars 20011 346 inlägg
#25

Hoppla! Nu vill jag med ovanstående kod göra en ny selectsats där jag kan visa vilket av ex. konferensrummen jag bokat.

En ny tabell med:

id - räknare
rum - nvarchar

Alltså - Först väljer jag konferensrum (id) och sedan listar jag ut alla tider och alla bokningar där det är ett visst datum. skulle vilja hänga på "WHERE rum=1", men det funkar ju inte...hur göra?

...förresten God Jul:)

Medlem sedan juni 2001206 inlägg
#26

Hej igen!

Det enklaste sättet är att slänga med en ny kolumn i tblBooking som heter förslagsvis sRoom där rumID:t står.

När du på första sidan väljer rummet skickar du med id på rummet som värde. Sedan när du väljer datum skickar du med id:t på rummet som en hidden-fält och datumet som värde.
Sedan när du visar tiderna och bokningarna i ett visst rum och på ett visst datum gör du så här:

If trim(RS("sDate")) = trim(Request.Form("date")) AND trim(RS("sroom")) = trim(Request.Form("room")) Then
Response.Write RS("sname")
End If

Hänger du med?

------------------
mvh
Harback
HiFiguiden.nu

[Redigerat av Harback den 21 dec 2001]

Medlem sedan mars 20011 346 inlägg
#27

Tack så mycket än en gång! Harback!

470 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
201 ms — deklarationer (db)
133 ms — hämta statistik (db)
134 ms — hämta tråd, inlägg och bilagor (db)
201 ms — ändringar (db)