Salve,
ho dovuto realizzare un sito multilingua. Allora per i testi fissi,ovvero non caricati dinamicamente, nelle varie pagine ho pensato a questa soluzione. Ho una tabella "testi" con n campi (al momento sono una 20na) e un campo lingua (da 1 a 7 per le varie lingue) e un campo id-pagina per sapere a che pagina si riferisce. il nome dei campi è campo0,campo1....campoN. Io ho fatto questa funzione, che mi restituisce un array con tutti i campi che mi servono
dove numCampi è il numero di campi che mi servono per quella determionata pagina, e lang è la lingua che voglio visualizzare.codice:function CaricaLingua(idpag, numCampi, lang) set conl=server.CreateObject("adodb.connection") conl.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/fpdb/riores.mdb") set rsl=server.CreateObject("adodb.recordset") stringa="select " for i=0 to numCampi-1 if i=0 then stringa=stringa & "campo" & i else stringa=stringa & ",campo" & i end if next stringa=stringa & " from testi where [id-pagina]=" & idpag & " and lang=" & lang rsl.open stringa,conl,3,3 redim mioArray(numCampi) if not rsl.eof then for i=0 to numCampi-1 mioArray(i)=rsl("campo" & i) next end if rsl.close set rsl=nothing conl.close set conl=nothing CaricaLingua=mioArray end function
Ho adottato questa per non dover aprire un recordset con molti campi pensando che andasse + veloce l'array.
voi che ne pensate di questa soluzione?

Rispondi quotando
