45 messaggi dal 18 settembre 2002
www.aiavigevano.it
Vi espongo il mio problema...
Io vorrei creare nella home del mio sito una cella che visualizzi l'oroscopo di una determinata settimana
Per questo ho trovato una funziona che estrapola la settimana dell'anno corrente...
Poi ho creato un DB in access dove ho inserito i campi settimana e i 12 segni, dove settimana è la chiave primaria di ricerca
Il problema nasce quando devo connettermi al db perchè non riesco a farlo...

Avevo impostato la connessione al db in questo modo

Dim rs,cn
set rs = Server.CreateObject("ADODB.Recordset")
set cn = Server.CreateObject("ADODB.Connection")
cn.Open "Provider = Microsoft.Jet.OLEDB.4.0; Data Source =" & Server.MapPath("mdb-database/miodb.mdb")
rs.ActiveConnection = cn
set ricerca=cn.Execute(sql)
if ricerca.EOF then

però mi da un errore nella riga "set ricerca=cn.Execute(sql)"
Praticamente il db dovrebbe aprirsi, prendere il campo settimana e confrontarlo con la funzione

function settimane()
dim dtAnno
dtAnno = datepart("yyyy",now())
settimane= "Poppo"
sett = settimane & dateDiff("ww","1/1/"&dtAnno,now() ) + 1
end function

Se la settimana del campo "settimana" del db corrisponde a quella estratta dalla funzione allora dovrebbe visualizzarmi l'oroscopo

sql= "select*from tabella1 where settimana = "&sett

ma siccome non è da molto che programmo in ASP, sono andato per tentativi e ci saranno miliardi di errori..
Qualcuno può darmi una mano? Anche piccola.....
Ciao

Ciò che facciamo in vita, riecheggia per l'eternità
11.886 messaggi dal 09 febbraio 2002
Contributi
Aspetta... c'è un po' di casino.
Ad esempio in questa riga:

set ricerca=cn.Execute(sql)

stai istanziando un nuovo recordset chiamato ricerca che è superfluo, dal momento che ne avevi già uno, rs.
Poi la variabile sql, non è ancora stata valorizzata, questo quindi è un errore detto "logico".

Il campo settimana di che tipo è? Numerico o stringa? Ho visto che valorizzi la variabile sett in questo modo:


settimane= "Poppo"
sett = settimane & dateDiff("ww","1/1/"&dtAnno,now() ) + 1

che è Poppo?
Prova a riscrivere tutto così:

<%
sett = dateDiff("ww","1/1/"&Year(Date()),Now()) + 1

Dim rs,cn
set rs = Server.CreateObject("ADODB.Recordset")
set cn = Server.CreateObject("ADODB.Connection")
cn.Open "Provider = Microsoft.Jet.OLEDB.4.0; Data Source =" & Server.MapPath("mdb-database/miodb.mdb")
rs.ActiveConnection = cn
rs.Open "SELECT * FROM tabella1 WHERE settimana = " & sett
Response.write rs("oroscopo")
%>

Mai tu hai 52 record all'interno del database? Invece che con le settimane, io farei due campi data, uno di inizio e l'altro di fine. Es. Bilancia dal 23/9 al 24/10 Così è più gestibile e avrai solo 12 record

Enjoy learning and just keep making
45 messaggi dal 18 settembre 2002
www.aiavigevano.it
per ora riesco solo a rispondere a due domande...
Poppo era la creazione di un momento di follia....perchp stanotte non ho dormito per capire come fare....
L'altra è quella riguardo alle settimane...
Io ho messo 52 settimane perchè così facendo posso ottenere l'oroscopo settimanale... se lo faccio con i campi data ottengo solo l'oroscopo del mese....

Ciò che facciamo in vita, riecheggia per l'eternità
45 messaggi dal 18 settembre 2002
www.aiavigevano.it
il codice della mia pagina ora è questo (completo)

<%
'qui esegue la funzione del calcolo numero settimana
function settimane()
dim dtAnno
dtAnno = datepart("yyyy",now())
settimane= "Poppo"
sett = settimane & dateDiff("ww","1/1/"&dtAnno,now() ) + 1
end function
' qui si connette al db
Dim rs,cn
set rs = Server.CreateObject("ADODB.Recordset")
set cn = Server.CreateObject("ADODB.Connection")
cn.Open "Provider = Microsoft.Jet.OLEDB.4.0; Data Source =" & Server.MapPath("oroscopo.mdb")
rs.ActiveConnection = cn
rs.Open "SELECT * FROM tabella1 WHERE settimana = " & sett
Response.write rs("oroscopo")
%>


e l'errore è

Tipo di errore:
Microsoft JET Database Engine (0x80040E14)
Errore di sintassi (operatore mancante) nell'espressione della query 'settimana ='.
/oroscopo/nsett2.asp, line 15
dove la line 15 è
rs.Open "SELECT * FROM tabella1 WHERE settimana = " & sett
Modificato da kaisersose il 01 febbraio 2003 18.19 -

Ciò che facciamo in vita, riecheggia per l'eternità
45 messaggi dal 18 settembre 2002
www.aiavigevano.it
Funziona!!!!
Ma ora ho un altra domanda...
Dovendo far scegliere il segno zodiacale...il fatto di far prendere il segno da un modulo....ebbene...la ricerca del segno la faccio eseguire all'inizio di tutto oppure prima del response.write?
però non ho capito una cosa...

esempio:

scelgo il segno da un menù a tendina--> ariete
controllo della settimana corrispondente...
poi me lo pubblica nella stessa pagina di controllo...
Dovrei farlo reindirizzare ad una pagina specifica?

Ciò che facciamo in vita, riecheggia per l'eternità
11.886 messaggi dal 09 febbraio 2002
Contributi
Aspetta non ho capito...

Dovrei farlo reindirizzare ad una pagina specifica?


che reindirizzamento?

Per la scelta del segno, tu hai una select del genere:

<select onChange="Javascript:window.location.href='oroscopo.asp?segno='+this.value">
<option value="ariete">ARIETE</option>
<option value="toro">TORO</option>
...
</select>

Cambiando segno verrà aperta la pagina oroscopo.asp?segno=gemelli

in oroscopo.asp (che poi sarà la pagina che contiene il codice di cui abbiamo parlato nei post precedenti) fai:

<%
segno = Request.QueryString("segno")
if segno="" then segno = "ariete"
... codice di prima...

rs.Open "SELECT * FROM tabella1 WHERE settimana = "&sett&" AND segno ='"&segno&"'"

%>

Così funziona?

Enjoy learning and just keep making
45 messaggi dal 18 settembre 2002
www.aiavigevano.it
non ho capito una cosa...
Metto la possibilità di scegliere il segno in una select nella pagina che chiamo OROSCOPO....
E metto


<select onChange="Javascript:window.location.href='oroscopo.asp?segno='+this.value">
<option value="ariete">ARIETE</option>
<option value="toro">TORO</option>
...
</select>

poi però non ho capito dove mettere l'altro codice....nella stessa pagina o in quella che voglio faccia apparire il risultato?
Quindi nel caso specifico sarà...OROSCOPO2


Modificato da kaisersose il 01 febbraio 2003 21.22 -

Ciò che facciamo in vita, riecheggia per l'eternità
11.886 messaggi dal 09 febbraio 2002
Contributi
questo dipende da come tu vuoi visualizzare i dati.
oroscopo.asp può chiamare se stessa, in questo caso comprenderà tutto il codice, lato server e lato client.

Il discorso cambia se tu vuoi mettere giusto una riga di oroscopo nell'homepage e ci scrivi: "Visualizza l'oroscopo per il tuo segno" con la famosa select per la selezione. A questo punto, homepage.asp chiama oroscopo.asp che contiene tutte le informazioni in merito. Sta a te decidere...

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.