- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- estrarre record diverso ogni giorno
-
estrarre record diverso ogni giorno
Ciao a tutti,
ho bisogno di un aiuto da parte vostra. Vorrei estrarre ogni giorno una ricetta dal db access. L'estrazione dovrebbe essere random fin qui lo so fare. Solo che con il modo che conosco ad ogni refresh della pagina esce una nuova ricetta. Io invece vorrei fare in modo che la stessa ricetta resti per tutto il giorno e cambi il giorno seguente. Avevo pensato alla soluzione julian date ma in questo caso sarebbe necessario avere 365 records da estrarre io invece ne ho molti di meno.
Qualcuno mi sa aiutare? Grazie
-
Ciao, ti faccio un esempio... userò delle lettere per sostituire i numeri..
Useremo le date giulianeEsempio:
Dati Iniziali:
R = 200 (Numero di Ricette nel DB)
A = 2455198 (1° Giorno dell'anno -> 01/01/2010)Algoritmo:
-
Generi la data giuliana del giorno corrente
X = 2455414 (Oggi -> 05/08/2010) -
Calcoli quanti giorni sono trascorsi da inizio anno (F)
F = X-A = (2455414-2455198) = 216 -
Fai un ciclo while finchè il numero non è più basso del numero di ricette a disposizione
Do While (F>R)
F = F-R
Next-
Hai F (normalizzato)
in questo esempio F = (216-200) = 16 -
Ti recuperi dal DB la ricetta numero 16
Spero di essere stato chiaro.
-
-
Ciao e grazie, mi è abbastanza chiara la logica ma non riesco a tradurre in codice quello che mi hai indicato, puoi aiutarmi? questo è quello che le mie limitate conoscenze hanno prodotto fino ad ora:
<%
Set Ricette = Server.CreateObject("ADODB.Recordset")
Dim SQLRicette
' estrai il julian day (jd) dalla data corrente ovvero il giorno dell'anno
jd= DatePart("y",date()) ' attenzione la y deve essere minuscola altrimenti assume un altro significato.Ricette = 200 ' numero ricette nel db
A = 1 '(1° Giorno dell'anno -> 01/01/2010)
X = (Oggi -> 05/08/2010)'Generi la data giuliana del giorno corrente
F = X-A = (2455414-2455198) = 216 'Calcoli quanti giorni sono trascorsi da inizio anno (F)
'Fai un ciclo while finchè il numero non è più basso del numero di ricette a disposizione
Do While (F>Ricette)
F = F-Ricette
Next'Hai F (normalizzato)in questo esempio
F = (216-200) = 16
SQLRicette = "SELECT * FROM Ricette WHERE id =" & jd
Ricette.Open SQLRicette, Cn,1
%>