ciao,
nel DB, ho una serie di immagini che dovrei far visualizzare a cadenza settimanale e in modo assolutamente random.
come potrei fare? :master:
grazie
ciao,
nel DB, ho una serie di immagini che dovrei far visualizzare a cadenza settimanale e in modo assolutamente random.
come potrei fare? :master:
grazie
Al volo....
- recuperi il numero di record presenti in tabella
- generi un numero casuale tramite la funzione rand ( [int min, int max] )
min sarà 1 e max il numero dei record di prima
- visualizzi l'immagine relativa al record con la posizione generata da rand()
BH
ma come faccio a rendere l'immagine "fissa" cioè visibile per una settimana intera, e solamente dopo sceglierne un altra in modo rand()
Qui è spiegata la logica (per giorno o mese, ma tu basta che gli passi la settimana)
scusate, sarò di coccio ma
ORDER BY RAND(" . date('n') * date('Y') . ")
come fa a memorizzare la data iniziale?
cioè se io domani mi collego al sito e la query mi mostra un immagine, poi mi collego tra 5 giorni e l'immagine dovrebbe essere ancora la stessa fino al 7° giorno.
ma rand() non memorizza l'immagine, la seleziona, appunto, random e basta.
sollecito chiarimenti...
![]()
prova così
select immagine from tabella order by rand(week(curdate(),1)) limit 1
Facendo un order by rand() e inizializzando ad un valore che cambia ogni tot di tempo (vedi anche esempio di nicola75ss) si ottiene che fai ad esempio un order by rand(42854095) per una settimana, poi la settimana successiva fai un order by rand(0923481).
A questo ci pensa il fatto che tu gli passi un valore che è relativo alla settimana, al giorno, al mese.
Facciamo un esempio semplice, se tu gli passi il giorno del mese otterrai che:
il giorno 1 farà "order by rand(1)"
il giorno 2 farà "order by rand(2)"
e così via.
Guarda io fare cosi , poi nn so se e' sbagliato....
Carichi tutte le img da DB e crei un numero RANDOM , per scegliere l'img.
Dopo di che selezionata l'img , crei una tabella o file di LOG , dove salvi l'img , con la data di inizio e fine che questa img deve visualizzare.
Arrivati alla data di fine , ne carichi una nuova , e salvi il log.
Ogni qualvolta vedi l'ultimo record o nel DB o nel file puoi fare i ocntrolli del caso per sapere quando ricaricare l'img.