Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Gestire classifica mensile su db

    Ciao a tutti,

    Spero di essere nella sezione giusta, se no prego i moderatori di spostare il post nella sezione più adatta.

    Vi descrivo brevemente cosa ho fatto finora:
    Ho un sito di ricette con delle pagine ASP che si popolano di volta in volta con la ricetta richiesta dai visitatori richiamando i dati da un db di access. Ogni volta che una ricetta viene visualizzata, sempre tramite codice ASP aumento sul db il campo 'visite' del record in oggetto di una unità.
    In home page ho creato una tabellina delle 10 ricette più cliccate facendo semplicemente una query che mi trova le prime 10 ricette con il valore del campo 'visite' più alto.

    Il mio problema è questo:
    Con questo tipo di aggiornamento la classifica resta praticamente sempre la stessa o comunque una nuova ricetta deve avere tantissime visite per superarne una che è sul sito da anni e vorrei creare un qualche automatismo che possa agire in uno dei seguenti modi:
    1- il campo 'visite' stralcia le visite più vecchie di 30 giorni;
    2- il campo 'visite' di tutti i record viene azzerato il 1° di ogni mese.

    A me andrebbero bene entrambi i metodi, il primo sarebbe certo più lineare e coerente ma credo che il secondo sia più semplice da realizzare.
    Sono giorni che ci penso e che cerco su internet senza trovare nulla che mi ponga almento nella giusta direzione, qualcuno di voi sa aiutarmi?

    Grazie a tutti.

  2. #2
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    la butto li
    potresti creare una routine che controlli periodicamete la tebella o che venga attivata all'apertura di una pagina...
    3 campi necessari
    "visite_mensili" "qta_mese" "mese_corrente" "Visite_totali" "qta_tot"

    all'inserimento di una nuova ricetta metti il mese corrente e tutto a 0

    alla visita di una ricetta update del prog qta_mese e qua_tot

    all'apertura della pagina globale delle ricette, prima di esporle le conrtollo e dici se il mese_corrente è uguale a quello odierno OK altrimenti reinizi con il counter di qta_mese e poi ti fai tranquillamente la tua select con i tuoi filtri e orderby per esporre i dati
    Che mestiere difficile.....essere da soli ancora di più

  3. #3
    Ciao Fractals,

    Grazie per la tua risposta ma... potresti spiegarmi un po' meglio la tua idea?
    Leggendo ciò che hai scritto mi sembra di intravedere una luce in fondo al tunnel ma non riesco ad afferrarla completamete.

  4. #4
    il massimo (anche in termini di occupazione di spazio ) sarebbe memorizzare la singola visita con la data, così puoi fare tutte le statistiche che vuoi.

  5. #5
    Ciao,
    Sicuramente salvando tutte le date potrei fare qualsiasi cosa, ma mi sembra veramente un inutile spreco di bit.
    A me basterebbe anche una routine a livello server che partisse ogni primo del mese e cancellasse tutto il contenuto della colonna 'visite' dal db.
    Il problema è che non ho la minima idea di come fare!!!

  6. #6
    predisponi un file .txt (o un campo di una tabella) in cui segni il mese. quando la data odierna riporta un mese > del mese registrato, fai partire l'azzeramento e segni nel file il mese corrente. più facile a farsi che a dirsi

  7. #7
    Ciao Optime,
    Vediamo se ho capito:
    1- Mi creo un file txt dove metto il nome (o magari ancora meglio il numero) del mese;
    2- Al db delle ricette aggiungo un campo 'mese_visita';
    3- Nella pagina ASP di visualizzazione delle ricette inserisco del codice che controlli il mese inserito nel file di testo e, se è maggiore di quello del campo 'mese_visita' resetta il campo 'visite' a 1 (la visita corrente).
    E' questo che intendevi?
    Ammesso che io abbia capito bene, approfitterei della tua disponibilità per evolvere la situazione: c'è modo, invece di usare un file txt che dovrei editare io tutti i mesi di dire tramite ASP di confrontare il campo 'mese_visita' con la data di sistema del server?
    Comunque grazie per il tuo prezioso consiglio.
    Ciao.

  8. #8
    intendevo proprio la data del server! è molto più semplice

  9. #9
    ok, allora stasera faccio un po' di prove.
    Ti farò sapere come va a finire.
    Grazie 1000.

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.