Udbygning af script
HejJeg har et script, som går ned i min database og henter datoer op. Disse datoer er reservationsdatoer, som den springer over, idet den smider de ikke-reserverede datoer ind i en dropdown-box.
Der er bare den begrænsning i scriptet, at en dato kun kan reserveres en gang. Nu er det imidlertid blevet sådan i "virkelighedens verden", at en dato godt kan reserveres mere end en gang. Så der skal indbygges noget funktionalitet, som gør, at jeg (f.eks. via en variabel) kan bestemme, hvor mange gange en dato kan reserveres.
Du har helt frie hænder til at lave alt koden om, hvis du finder det hensigtsmæssigt.
<%
Set myConn=Server.CreateObject("ADODB.Connection")
myConn.Open ("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="+server.Mappath("/db/selvet.mdb"))
strSQL = "Select distinct datopublish from search where (datopublish between #" & Date() + 1 & "# and #" & Date() + 364 & "#) order by datopublish"
set rs = myConn.execute(strSQL)
do while not rs.EOF
if isDate(rs("datopublish")) then
myDates = myDates & rs("datopublish") & ", "
End If
rs.MoveNext
Loop
'response.write("<script>alert('" & strSQL & "')</script>")
'response.write("<script>alert('" & myDates & "')</script>")
if not myDates = "" then
myDates = left(myDates,len(myDates)-2)
end if
%>
Hvis det irriterer dig, at scriptet er et mismask mellem asp og javascript, så lav den endelig om. Du har frie hænder.
<script>
rd = "<% response.write myDates %>";
nu = new Date();
temp = rd.split(", ");
function eia(str) {
for (n = 0; n < temp.length; n++)
if (temp[n] == str) return true;
return false;
}
document.write('<select name="datoPublikation" style="font-size: 10pt; font-family: Trebuchet MS">');
for (i = 1; i <= 364; i++) {
td = new Date(nu.getTime() + 1000 * 60 * 60 * 24 * i);
str = ((td.getDate() < 10) ? "0" + td.getDate() : td.getDate()) + "-" + ((td.getMonth() + 1 < 10) ? "0" + (td.getMonth() + 1) : td.getMonth() + 1) + "-" + td.getFullYear();
if (!eia(str))
document.write('<option value="' + str + '">' + str + '</option>');
}
document.write('<select>');
</script>
