Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    378

    record aggiornati casualmente ogni 24 ore. E' possibile?

    Salve,
    ho la seguente query:
    SELECT * FROM catalogo ORDER BY RAND() limit 0,5
    sapete dirmi come si fa per aggiornare casualmente la lista dei record solo ogni 24 ore?
    Durante il resto della giornata, la query deve mostrare i risultati dell'ultima rand.
    Grazie,
    D.
    Basta vivere,
    basta amare ogni momento
    e non porsi alcuna domanda
    sul momento che verrà

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    devi fare qualcosa di persistente, tipo:
    - primo accesso di un utente nella giornata
    - - query random e scrittura del risultato su un file (ad esempio)
    - accessi successivi nella giornata
    - - non esegui la query random ma leggi il file

    per capire se è realmente il primo accesso, puoi, ad esempio, dare al nome file il valore del giorno (aaaammdd): se non esiste, query, altrimenti lo leggi

    oppure puoi fare tutto in una tabella di DB
    Ultima modifica di clasku; 24-11-2014 a 10:02

  3. #3
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Non vorrei sbagliarmi, ma se passi un intero (seed) ad RAND() di mysql, ottieni sempre la stessa sequenza.
    In teoria potresti prendere in timestamp del giorno e passarlo a RAND()

    Codice PHP:
    $n strtotime(date('d-m-Y'));
    $query " ... ORDER BY RAND($n) ..." 
    Ultima modifica di boots; 24-11-2014 a 10:40

  4. #4
    Utente di HTML.it L'avatar di exFelino
    Registrato dal
    Jul 2014
    residenza
    Aci Catena (CT)
    Messaggi
    710
    Quote Originariamente inviata da boots Visualizza il messaggio
    Non vorrei sbagliarmi, ma se passi un intero (seed) ad RAND() di mysql, ottieni sempre la stessa sequenza.
    In teoria potresti prendere in timestamp del giorno e passarlo a RAND()

    Codice PHP:
    $n strtotime(date('d-m-Y'));
    $query " ... ORDER BY RAND($n) ..." 
    boots molto interessante la tua risposta, potresti spiegarmi come funziona?

    Grazie.

  5. #5
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Prendendo in considerazione la documentazione mysql:
    RAND(N)
    If a constant integer argument N is specified, it is used as the seed value, which produces a repeatable sequence of column values.
    Se passi sempre lo stesso valore (seed) ottieni sempre la stessa sequenza. Quindi, per il caso di pmi, passi sempre lo stesso N nel arco della stessa giornata. N che prendi come timestamp del giorno attuale senza considerare ore, minuti e secondi (o meglio son sott'intese le 00h:00m:00s).

  6. #6
    Utente di HTML.it L'avatar di exFelino
    Registrato dal
    Jul 2014
    residenza
    Aci Catena (CT)
    Messaggi
    710
    Quote Originariamente inviata da boots Visualizza il messaggio
    Prendendo in considerazione la documentazione mysql:


    Se passi sempre lo stesso valore (seed) ottieni sempre la stessa sequenza. Quindi, per il caso di pmi, passi sempre lo stesso N nel arco della stessa giornata. N che prendi come timestamp del giorno attuale senza considerare ore, minuti e secondi (o meglio son sott'intese le 00h:00m:00s).
    Molto interessante!
    Grazie.

  7. #7
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    chissà se aumentando i record nella tabella si comporta allo stesso modo

  8. #8
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    domanda interessante...ho fatto un po' di prove. L'ordine "cambia", nel senso che i(l) nuovo(i) record si inserisce nella "vecchia" sequenza in posizione random (giustamente)

  9. #9
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Quote Originariamente inviata da boots Visualizza il messaggio
    domanda interessante...ho fatto un po' di prove. L'ordine "cambia", nel senso che i(l) nuovo(i) record si inserisce nella "vecchia" sequenza in posizione random (giustamente)
    quindi, se ho correttamente interpretato la richiesta del topic, non può usare questo metodo perché se dovesse aggiungere un record durante la giornata l'elenco cambierebbe

  10. #10
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Dipende se a pmi sta bene questo "inconveniente" e con che frequenza si aggiunge un record.
    Inoltre, anche salvando la query su file, ci sarebbero intoppi in caso di cancellazione di uno o più record...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.