• Home
  • Forum
  • Fare Web
  • Classic ASP

Calendario collegato a tabella sql

  • Creatore Discussione Creatore Discussione ocnarf60
  • Data di inizio Data di inizio 17 Feb 2010
O

ocnarf60

Nuovo Utente
17 Feb 2010
5
0
0
  • 17 Feb 2010
  • #1
Ho copiato il codice dell'articolo: Creare un Calendario con ASP scritto da Luca Ruggiero il 03/03/2005. Vorrei collegarlo ad una tabella di un db sql con 4 campi:
Data_inizio; Data_Fine; Ora_Inizio; Ora_Fine; Appuntamento.
Vorrei, cliccando sui giorni del calendario, selezionare i record relativi.
Il problema è che non riesco ad utilizzare la data selezionata come condizione where del recordset. Ho modificato il codice del calendario nel modo seguente:

<%
Dim rs1
Dim rs1_cmd
Dim rs1_numRows
Set rs1_cmd = Server.CreateObject ("ADODB.Command")
rs1_cmd.ActiveConnection = "Provider=SQLOLEDB;data Source=srvmssql1;Initial Catalog=ammidati;User Id=Ammidati; Password=Ammi123dati"
'Condizione where che ho provato ad inserire per visualizzare solo i record della data selezionata
rs1_cmd.CommandText = "SELECT * FROM ammidati.Agenda" 'where Data_Inizio='" & data & "'"
rs1_cmd.Prepared = true
Set rs1 = rs1_cmd.Execute
rs1_numRows = 0
%>
<html>
<head>
<title>Comune di Ascoli Piceno - Intranet</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="style_intra.css" rel="stylesheet" type="text/css">
<style>
td { font: Normal 10px Verdana; }
</style>

<style type="text/css">
<!--
.sfondocella {
background-color: #CCCCCC;
}
.sfondocellarosso {
background-color: #990033;
}
-->
</style>
</head>
<%
Session.LCID = 1040
%>
<body>
<p>&nbsp;</p>
<Table>
<Tr>
<td width="520" valign="top" class="bordotab">
<%
If Request("data") ="" then
data = Date()
else
data = CDate(Request("data"))
end if
intestazione = UCase(MonthName(Month(Data))) & " " & Year(Data)
gg_mese = "01/" & Month(Data) & "/" & Year(Data)
gg = 1
%>
<table width="100%" border="1" align="center" cellpadding="5"
cellspacing="0" bordercolor="#CCCCCC" bgcolor="#FFFFFF">
<tr>
<td align="center" valign="top" bgcolor="#EEEEEE"><a href="agenda_1.asp?data=<%=DateAdd("m", -1, data)%>"><strong>&lt;</strong></a></td>
<td align="center" colspan="5" bgcolor="#EEEEEE"><b><%=intestazione%></a></b>
<td align="center" bgcolor="#EEEEEE"><a href="agenda_1.asp?data=<%=DateAdd("m", 1, data)%>"><strong>&gt;</strong></a></td></tr>
<tr bgcolor="#FFFFCC">
<td align="center"><b>DOM</b></td>
<td align="center"><b>LUN</b></td>
<td align="center"><b>MAR</b></td>
<td align="center"><b>MER</b></td>
<td align="center"><b>GIO</b></td>
<td align="center"><b>VEN</b></td>
<td align="center"><b>SAB</b></td>
</tr>
<%
If (Month(Data) + 1) > 12 Then
mm = 1
aa = Year(Data) + 1
Else
mm = (Month(Data) + 1)
aa = Year(Data)
End if
primo = "01" & "/" & mm & "/" & aa
ultimo = DateAdd("d", -1, primo)
While (gg <= Day(ultimo))
%>
<tr>
<%
gg_sett = WeekDay(gg_mese)
For i = 1 To gg_sett - 1
%>
<td align="center" bgcolor="#EEEEEE">&nbsp;</td>
<%
Next
For i = gg_sett To 7
If gg = Day(Data) And Month(Data) = Month(Date()) Then
colore_gg = "#FFCCCC"
Else
colore_gg = "#FFFFFF"
End If
%>
<td align="center" bgcolor="<%=colore_gg%>"><a href="agenda_1.asp?data=<%=gg & "/" & Month(Data) & "/" & Year(Data)%>"><%=gg%></a></td>
<%
gg = gg + 1
If gg > Day(ultimo) Then Exit For
Next
For i = i + 1 To 7
%>
<td align="center">&nbsp;</td>
<%
Next
%>
</tr>
<%
gg_mese = gg & "/" & Month(Data) & "/" & Year(Data)
Wend
%>
</table>
</div></td>
</Tr>
</Table>
<p><strong>Appuntamenti del giorno: <%Response.Write(Data)%></strong></p>
<!-- Primo record del DB: Sezione che poi dovrò ripetere per ogni record nel DB-->
<p><strong>Data Inizio:</strong> <%=(rs1.Fields.Item("Data_Inizio").Value)%><br>
<strong>Data Fine:</strong> <%=(rs1.Fields.Item("Data_Fine").Value)%><br>
<strong>Ora Inizio:</strong> <%=(rs1.Fields.Item("Ora_Inizio").Value)%><br>
<strong>Ora Fine</strong>: <%=(rs1.Fields.Item("Ora_Fine").Value)%><br>
<strong>Appunt.:</strong> <%=(rs1.Fields.Item("Appuntamento").Value)%></p>
</body>
</html>
<%
rs1.Close()
Set rs1 = Nothing
%>

Grazie a chiunque voglia darmi un suggerimento.
Franco
 

Paolo69

Moderatore
Membro dello Staff
MOD
18 Feb 2010
558
13
18
Italy
www.caprioli.info
  • 19 Feb 2010
  • #2
Ciao,
intanto sostituirei il seguente codice:
%>
<td align="center" bgcolor="<%=colore_gg%>"><a href="agenda_1.asp?data=<%=gg & "/" & Month(Data) & "/" & Year(Data)%>"><%=gg%></a></td>
<%
Clicca per allargare...

Con questo, il quale formatta la data aggiungendo uno zero se il giorno o il mese è compreso da 1 a 9:

' codice aggiunto
' mese in corso
Mese = Month(Date())
' aggiungo uno zero se il valore è da 1 a 9
If Len(Mese) < 2 Then
Mese = "0"&mese
End If
' formatto il giorno
Giorno = gg
' aggiungo uno zero se il valore è da 1 a 9
If Len(Giorno) < 2 Then
Giorno = "0"&Giorno
End If
Anno = Year(Now())

%>
<td align="center" bgcolor="<%=colore_gg%>"><a href="agenda_1.asp?data=<%=Giorno%>/<%=Mese%>/<%=Anno%>" target="_blank"><%=gg%></a></td>
<%
Clicca per allargare...

Nella pagina "agenda_1.asp" inserisco una query che filtra i risultati in base alla data recuperata dalla stringa "data=" dell'url.

Io farei in modo da aprire questa pagina in un pop-up in modo da mostrare l'elenco degli eventi o semplicemente avvisare che la lista è vuota.

Ovviamente il mio codice l'ho provato dallo script originale, il tuo, senza il DataBase non ci faccio nulla.
 
O

ocnarf60

Nuovo Utente
17 Feb 2010
5
0
0
  • 19 Feb 2010
  • #3
Grazie per la risposta

Ho provato a sostituire la riga come mi hai suggerito, perchè funzionasse correttamente ho dovuto sostituire, nel codicea agiunto, "Date()" con "Data" cioè la variabile contenente la data selezionata, altrimenti mi venivano selezionati solo i girni del mese ed anno correnti.

Comunque il mio problema è che non riesco a filtrare la query con la data che seleziono: vorrei che se seleziono la data del 10 marzo mi vengano restituiti, se ci sono, i record relativi a quel giorno.
La query "SELECT * FROM ammidati.Agenda" funziona e mi restituisce tutti i record; se però la modifico: "SELECT * FROM ammidati.Agenda where Data_Inizio='" & data & "'" (data è la data che seleziono), viene restituito l'errore "...è necessario disporre di un record corrente".
Spero di aver spiegato bene il mio problema.
Grazie ancora
Franco
 

Paolo69

Moderatore
Membro dello Staff
MOD
18 Feb 2010
558
13
18
Italy
www.caprioli.info
  • 19 Feb 2010
  • #4
Prova questa query:

"SELECT * FROM Agenda WHERE Data_inizio = #15/01/2009# "

oppure:

"SELECT * FROM Agenda WHERE Data_inizio >= #"&data&"# "

oppure:

"SELECT * FROM Agenda WHERE Data_inizio >= #"&data&"# AND Data_fine <= #"&data_fine&"# "
Clicca per allargare...

ovviamente sostituisci le date con la variabile che a te interessa. :elvis:

P.S.- Dimenticavo, questa query funziona su DB Access e campi Data_inizio/Data_fine in formato Data/Orario.
 
Ultima modifica: 19 Feb 2010
O

ocnarf60

Nuovo Utente
17 Feb 2010
5
0
0
  • 19 Feb 2010
  • #5
Finalmente ho risolto con alcune modifiche: ho richiesto la data prima che fosse eseguita la query ed inoltre alcune modifiche sono state fatte da dreamweaver nella creazione del recordset con filtro; non riesco a capire nemmeno io come ci sono riuscito. Inserisco comunque il codice funzionante:

<!--#include file="Connections/cn.asp" -->
<%
If Request("data") ="" then
data = Date()
else
data = CDate(Request("data"))
end if

Dim rs1__MMColParam
rs1__MMColParam = "1"
If (Request.QueryString("data") <> "") Then
rs1__MMColParam = Request.QueryString("data")
End If
%>
<%
Dim rs1
Dim rs1_cmd
Dim rs1_numRows

Set rs1_cmd = Server.CreateObject ("ADODB.Command")
rs1_cmd.ActiveConnection = MM_cn_STRING
rs1_cmd.CommandText = "SELECT * FROM ammidati.Agenda WHERE Data_Inizio ='" & data & "'"
rs1_cmd.Prepared = true
rs1_cmd.Parameters.Append rs1_cmd.CreateParameter("param1", 200, 1, 10, rs1__MMColParam) ' adVarChar

Set rs1 = rs1_cmd.Execute
rs1_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = -1
Repeat1__index = 0
rs1_numRows = rs1_numRows + Repeat1__numRows
%>
<html>
<head>
<title>Comune di Ascoli Piceno - Intranet</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="style_intra.css" rel="stylesheet" type="text/css">
<style>
td { font: Normal 10px Verdana; }
</style>

<style type="text/css">
<!--
.sfondocella {
background-color: #CCCCCC;
}
.sfondocellarosso {
background-color: #990033;
}
-->
</style>
</head>
<%
Session.LCID = 1040
%>
<body>
<p>&nbsp;</p>
<Table>
<Tr>
<td width="520" valign="top" class="bordotab">
<%
If Request("data") ="" then
data = Date()
else
data = CDate(Request("data"))
end if
intestazione = UCase(MonthName(Month(Data))) & " " & Year(Data)
gg_mese = "01/" & Month(Data) & "/" & Year(Data)
gg = 1
%>
<table width="100%" border="1" align="center" cellpadding="5"
cellspacing="0" bordercolor="#CCCCCC" bgcolor="#FFFFFF">
<tr>
<td align="center" valign="top" bgcolor="#EEEEEE"><a href="agenda.asp?data=<%=DateAdd("m", -1, data)%>"><strong>&lt;</strong></a></td>
<td align="center" colspan="5" bgcolor="#EEEEEE"><b><%=intestazione%></a></b>
<td align="center" bgcolor="#EEEEEE"><a href="agenda.asp?data=<%=DateAdd("m", 1, data)%>"><strong>&gt;</strong></a></td></tr>
<tr bgcolor="#FFFFCC">
<td align="center"><b>DOM</b></td>
<td align="center"><b>LUN</b></td>
<td align="center"><b>MAR</b></td>
<td align="center"><b>MER</b></td>
<td align="center"><b>GIO</b></td>
<td align="center"><b>VEN</b></td>
<td align="center"><b>SAB</b></td>
</tr>
<%
If (Month(Data) + 1) > 12 Then
mm = 1
aa = Year(Data) + 1
Else
mm = (Month(Data) + 1)
aa = Year(Data)
End if
primo = "01" & "/" & mm & "/" & aa
ultimo = DateAdd("d", -1, primo)
While (gg <= Day(ultimo))
%>
<tr>
<%
gg_sett = WeekDay(gg_mese)
For i = 1 To gg_sett - 1
%>
<td align="center" bgcolor="#EEEEEE">&nbsp;</td>
<%
Next
For i = gg_sett To 7
If gg = Day(Data) And Month(Data) = Month(Date()) Then
colore_gg = "#FFCCCC"
Else
colore_gg = "#FFFFFF"
End If
%>


<td align="center" bgcolor="<%=colore_gg%>"><a href="agenda.asp?data=<%=gg & "/" & Month(Data) & "/" & Year(Data)%>"><%=gg%></a></td>

<%
gg = gg + 1
If gg > Day(ultimo) Then Exit For
Next
For i = i + 1 To 7
%>
<td align="center">&nbsp;</td>
<%
Next
%>
</tr>
<%
gg_mese = gg & "/" & Month(Data) & "/" & Year(Data)
Wend
%>
</table>
</div></td>
</Tr>
<Tr>
<td>
<strong>Appuntamenti del giorno: <%Response.Write(Data)%></strong>
</td>
</Tr>
<%
While ((Repeat1__numRows <> 0) AND (NOT rs1.EOF))
%>
<Tr>
<td>
<strong>Data Inizio:</strong> <%=(rs1.Fields.Item("Data_Inizio").Value)%><br>
<strong>Data Fine:</strong> <%=(rs1.Fields.Item("Data_Inizio").Value)%><br>
<strong>Ora Inizio:</strong><%=(rs1.Fields.Item("Ora_Inizio").Value)%><br>
<strong>Ora Fine</strong>:<%=(rs1.Fields.Item("Ora_Fine").Value)%><br>
<strong>Appunt.:</strong><%=(rs1.Fields.Item("Appuntamento").Value)%>
</td>
</Tr>
<%
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
rs1.MoveNext()
Wend
%>
</Table>

</body>
</html>
<%
rs1.Close()
Set rs1 = Nothing
%>

Grazie di tutto
Franco
 

Paolo69

Moderatore
Membro dello Staff
MOD
18 Feb 2010
558
13
18
Italy
www.caprioli.info
  • 19 Feb 2010
  • #6
quando riesci in qualcosa la soddisfazione è enorme.
 

Paolo69

Moderatore
Membro dello Staff
MOD
18 Feb 2010
558
13
18
Italy
www.caprioli.info
  • 19 Feb 2010
  • #7
:mavieni::mavieni:
 
Devi accedere o registrarti per poter rispondere.

Discussioni simili

G
calendario collegato a database
  • giro
  • 14 Gen 2016
  • Classic ASP
Risposte
2
Visite
2K
Classic ASP 18 Gen 2016
giro
G
F
Dubbi sull’approvazione App Store di un’app informativa in ambito medico (RSS + calendario eventi)
  • Frale105
  • 16 Ott 2025
  • Sviluppo app per iOS
Risposte
0
Visite
333
Sviluppo app per iOS 16 Ott 2025
Frale105
F
M
Plugin Calendario Appuntamenti
  • Marco Galli
  • 24 Nov 2021
  • WordPress
Risposte
2
Visite
2K
WordPress 25 Ott 2024
Christian95
C
E
Calendario appuntamenti \dipendenti
  • Emanuele85
  • 31 Mar 2021
  • PHP
Risposte
0
Visite
897
PHP 31 Mar 2021
Emanuele85
E
F
Calendario php?
  • France_sco
  • 8 Giu 2020
  • PHP
Risposte
3
Visite
2K
PHP 8 Giu 2020
macus_adi
L
[PHP] calendario
  • luigi777
  • 30 Ott 2019
  • PHP
Risposte
0
Visite
1K
PHP 30 Ott 2019
luigi777
L
R
[WordPress] Calendario Personale per ogni Utente
  • Riccardo Fiore
  • 25 Lug 2019
  • WordPress
Risposte
0
Visite
1K
WordPress 25 Lug 2019
Riccardo Fiore
R
[javascript] calendario booking disponibilità
  • maxnegri
  • 17 Dic 2018
  • Javascript
Risposte
2
Visite
2K
Javascript 3 Gen 2019
maxnegri
L
[PHP] calendario: dati da DB in tabella
  • lux78b
  • 11 Dic 2018
  • PHP
Risposte
1
Visite
2K
PHP 27 Dic 2018
macus_adi
K
[PHP] Creazione di Calendario con orario
  • keyz23
  • 18 Lug 2018
  • PHP
Risposte
4
Visite
3K
PHP 19 Lug 2018
marino51
Q
Notice: Undefined index: codice in C:\xampp\htdocs\STAGE\calendario\modifica.php on line 10
  • qwertyy
  • 1 Lug 2018
  • PHP
Risposte
8
Visite
4K
PHP 1 Lug 2018
macus_adi
A
[Javascript] Datepicker - il calendario non si apre
  • arval
  • 10 Mag 2017
  • Javascript
Risposte
16
Visite
5K
Javascript 17 Mag 2017
arval
A
[PHP] Problema Calendario Eventi
  • Rhisen
  • 4 Mag 2017
  • PHP
Risposte
0
Visite
1K
PHP 4 Mag 2017
Rhisen
E
[Javascript] Assegnazione variabile da campo input di tipo "a calendario"
  • enzogar
  • 14 Feb 2017
  • Javascript
Risposte
3
Visite
6K
Javascript 21 Feb 2017
enzogar
E
Passaggio da calendario php a javascript
  • Gaetano1991h
  • 28 Ott 2016
  • PHP
Risposte
2
Visite
1K
PHP 29 Ott 2016
borgo italia
V
Servizio email con calendario condiviso
  • Verminillo
  • 3 Mar 2016
  • Posta Elettronica
Risposte
1
Visite
2K
Posta Elettronica 4 Mar 2016
chleggiero
L
Zimbra calendario Vs PHP
  • Leonardo Bettarelli
  • 22 Gen 2016
  • PHP
Risposte
0
Visite
1K
PHP 22 Gen 2016
Leonardo Bettarelli
L
[Wordpress] Ordine per Calendario Personalizzato
  • felino
  • 29 Set 2015
  • WordPress
Risposte
1
Visite
2K
WordPress 13 Ott 2015
felino
V
Reperire le date della settimana del calendario
  • Vera
  • 25 Set 2015
  • jQuery
Risposte
1
Visite
1K
jQuery 7 Ott 2015
WmbertSea
D
Creare Calendario PHP
  • dny18
  • 14 Set 2015
  • PHP
Risposte
0
Visite
2K
PHP 14 Set 2015
dny18
D
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • Classic ASP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?