Forum 

Forum AspNuke.it - Il tuo Portale OpenSource in ASP

Foto Random da più campi

Autore Messaggio
giampi1

Principiante
Principiante
20 Discussioni



Profilo - giampi1
15 luglio 2005 alle 01:07:35 Profilo - giampi1Invia un messaggio privato Rispondi quotando
Ciao a tutti,

cari amministratori ho una richiesta da farvi:

Prendendo il codice per le immagini random, ho la necessità di far cercare le immagini da 5 colonne di un db che ho modificato per mie esigenze.
In pratica le immagini le deve pescare random dai campi delle colonne foto1, foto2, foto3, foto4, foto5.
Ho visto il codice che utilizza le array. Come posso cercare i contenuti dei record di 5 array in modo random?

Spero di essermi spiegato bene... [!?!]
giampi1

Principiante
Principiante
20 Discussioni



Profilo - giampi1
17 luglio 2005 alle 15:49:53 Profilo - giampi1Invia un messaggio privato Rispondi quotando
un aiutino? :~(
djveleno

Amministratore

Esperto
Esperto
1025 Discussioni



Profilo - djveleno
17 luglio 2005 alle 21:56:07 Profilo - djvelenoInvia un messaggio privato Rispondi quotando
Il codice di Fotorandom, pubblicato qui, non utilizza le Array, ma, una Select al DB e una funzione Randomize.
Se vuoi estrarre delle immagini da un db diverso da quello originale, fai puntare la select a quel db, modificando poi anche la funzione.
Ciauzz DJ
---------------
A lavare la testa ai somari, ci si rimette l'acqua e il sapone!

http://aspnuke208.somee.com/Default.asp

giampi1

Principiante
Principiante
20 Discussioni



Profilo - giampi1
18 luglio 2005 alle 11:05:47 Profilo - giampi1Invia un messaggio privato Rispondi quotando
Ciao DjVeleno, grazie per la risposta.

Guarda il cod che ho modificato è il seguente:

<%
Sub DisplayGallery()

Dim oCn, oRs, rSQL, idArray, idRandom, idSELECT, idAuthor, iPath1, iPath2, iPath3, iPath4, iPath5, iHits, iTitle, iPath

CreateTopTable "RandGallerie", GetTranslation("LANG_RANDOMGALLERY")

on error resume next

Set oCn = DBConnexion(DB_MAIN)
rSQL = "SELECT gID, gUser, gFoto1, gFoto2, gFoto3, gFoto4, gFoto5, gHits FROM gallerie where gStato = true "

Set oRs = DBRecordSet(oCn, rSQL)
idArray = oRs.getRows
oRs.Close
set oRs = Nothing
oCn.Close
set oCn = Nothing

Randomize
idSELECT = Int((ubound(idArray, 2) - lbound(idArray, 2) + 1) * Rnd + lbound(idArray, 2))
idRandom = idArray(0, idSELECT)
idAuthor = idArray(1, idSELECT)
iPath1 = idArray(2, idSELECT)
iPath2 = idArray(3, idSELECT)
iPath3 = idArray(4, idSELECT)
iPath4 = idArray(5, idSELECT)
iPath5 = idArray(6, idSELECT)
iHits = idArray(7, idSELECT)
'iPath = (iPath1 - iPath2 +1) * Rnd + iPath

'idSELECT = Int((ubound(idArray, 2) - lbound(idArray, 2) + 1) * Rnd + lbound(idArray, 2))

Response.Write "<br><a href= " & GLOBAL_SITE_PATH & "galleria.asp?id=" & idAuthor & "><p align=""center""><img src=""" & GLOBAL_SITE_PATH & iPath3 & """ border=""0"" width=""100"" height=""100""></a>"
Response.Write "<br><font class=""small"">" & idAuthor & " - (" & iHits & ")Click "

on error goto 0

CreateBottomTable ""

End Sub

%>


Nel DB_MAIN ho inserito una tabella nuova ("gallerie") in cui ci sono una serie di colonne (gFoto1, gFoto2, ecc.) dove ciascun utente può inserire le 5 immagini della propria galleria (una variante personalizzata della sezione immagini).

Lo scopo del random a questo punto non è solo di leggere da "iSourceSmall" nella versione pubblicata qui, ma in maniera del tutto casuale i record contenuti in gFoto1, gFoto2, gFoto3, gFoto4, gFoto5.

Praticamente mi manca solo di capire come leggere un record a caso in una colonna a caso.

Mi puoi aiutare?

Grazie
emu

Moderatore

Esperto
Esperto
1714 Discussioni



Profilo - emu
18 luglio 2005 alle 11:36:48 Profilo - emuInvia un messaggio privato Rispondi quotando
La versione del fotorandom che usa gli array l'avevo scritta io perche', se un utente ha cancellato delle immagini, potrebbero essere estratti degli id che non esistono piu', ottenendo dei malfunzionamenti.
Tu hai un array bidimensionale, in cui il secondo indice identifica la galleria, ed il primo indice la foto (se compreso tra 2 e 6).
Devi quindi estrarre due numeri, prima l'idSELECT e poi un numero da 2 a 6 per indicare la foto:
iPath = idArray(Int(5 * Rnd) + 2, idSELECT)
Ciao

---------------
development@aspnuke.it
giampi1

Principiante
Principiante
20 Discussioni



Profilo - giampi1
19 luglio 2005 alle 18:56:28 Profilo - giampi1Invia un messaggio privato Rispondi quotando
Modificato il 19 luglio 2005 alle 18:59:20

Non ho capito: copio ed incollo queta tua riga "iPath = idArray(Int(5 * Rnd) + 2, idSELECT)" e dovrebbe fungere?

Perché l'ho fatto, non mi da errori ma non so se in effetti mi cerca da tutte le parti oppure no.

Se vuoi vedere l'esempio pratico: http://www.aerografia.it

Grazie
giampi1

Principiante
Principiante
20 Discussioni



Profilo - giampi1
22 luglio 2005 alle 17:08:27 Profilo - giampi1Invia un messaggio privato Rispondi quotando
Per Emu.

ok ho trovato da solo la soluzione e in effetti cerca veramente random su tutto.
Il problema è ora nel response.write perchè il valore del link è nell'idAuthor che corrisponde al gUser della tabella.
Ora succede che molti gUser hanno nomi composti (es.= ciccio bello) con uno spazio in mezzo; il browser risolve con un %20 per unire i due tronchi ma l'array mi da solo "ciccio".

In pratica il link diventa:
/galleria.asp?id=ciccio
invece di:
/galleria.asp?id=ciccio bello

Come posso dare l'istruzione di fornire tutto il gUser?
Scusa ma i discorsi degli array ancora non l'ho capiti bene e mi è diventata essenziale questa cosa per dare ancora + visibilità ai galleristi.

Grazie
emu

Moderatore

Esperto
Esperto
1714 Discussioni



Profilo - emu
22 luglio 2005 alle 17:40:48 Profilo - emuInvia un messaggio privato Rispondi quotando
Non credo che tu possa farlo. Gli spazi dovrebbero essere banditi, sia nei nomi degli utenti che, a maggior ragione, nei nomi dei file e delle cartelle.
Non e' un caso se ho impedito di utilizzare lo spazio nei nomi degli utenti di aspnuke.
Ma perche' mettere nel link il nome utente anziche' la sua chiave (numerica) univoca?
Chiunque abbia disegnato il db, ne ha sicuramente previsto l'esistenza.
Ciao
---------------
development@aspnuke.it
giampi1

Principiante
Principiante
20 Discussioni



Profilo - giampi1
22 luglio 2005 alle 18:24:32 Profilo - giampi1Invia un messaggio privato Rispondi quotando
hai ragione, ma il portale esiste da 5 anni e migrare non è cosa semplice...
a questo punto mi conviene settare l'id della pagina in base all'id della tabella gallerie, tanto più che è un contatore a chiave primaria ad incremento....

... non si finisce più!!!....

Grazie mille, sei stato di grandissimo aiuto!!! [lo]

Log in

Login
Password
Memorizza i tuoi dati:

Cerca

 

Sostieni AspNuke

Un piccolo gesto per aiutarci a mantenere AspNuke.it online

Promo

MusicWebItalia.it
Video Testi Traduzioni Spot Colonne sonore Accordi e Spartiti gratis.

Visitatori

Visitatori Correnti : 99
Membri : 0 offline Anna

Iscritti

 Utenti: 18940
Ultimo iscritto : glauco
Lista iscritti
Messaggi privati: 3373 Commenti: 2210 Immagini: 39 Downloads: 144 Articoli: 49 Pagine: 101 Siti web: 558 Notizie: 180 Sondaggi: 11 Preferiti: 5685294 Post sui forum: 51195 Libro degli ospiti: 4 Eventi: 7

Versioni

Temi