Realizzare storico consumi

  • Creatore Discussione Creatore Discussione mircop
  • Data di inizio Data di inizio

mircop

Nuovo Utente
1 Feb 2013
4
0
0
Ciao a tutti

Devo realizzare una web app che si connetti ad un database dove raccolgo i dati inviati da più dispositivi.
Sono nuovo del php, e essendo il mio mestiere un altro, mi serve solo come verifica che tutto è giusto (quindi non mi interessano parti grafiche o abbellimenti vari).

La mia domanda è: dovendo associare ad ogni utente una specie di storico consumi (quindi con i dati ricevuti dal server giorno per giorno), conviene associare ad ogni utente una tabella per ogni mese/anno, oppure conviene una sola tabella per tutti gli anni e tutti gli utenti?

È un po' come se volessi visualizzare i soldi spesi da tot utenti quotidianamente da oggi in poi.

Se sul forum c'è già o se qualcuno ha lavorato mai con qualcosa del genere (o se non sono stato chiaro) mi faccia sapere, grazie mille :)
 
Io direi di fare 2 tabelle in questo modo:
1) UTENTI (id, dati-degli-utenti..)
2) PAGAMENTI (id-utente, denaro, data)

Quindi per ogni pagamento avrai una tupla nella tabella PAGAMENTI.
Poi per controllare quanto ha preso l'utente da un giorno dato in poi basta fare un'opportuna query sulle tabelle.
 
Grazie mille, è la stessa idea a cui stavo pensando io in questo momento spulciando un po' in giro :).

Per quanto riguarda la seconda tabella, ogniqualvolta viene inviato un dato al server, basta fare una query in cui aggiungo una riga con id, consumo e dato, giusto?

Ah visto che ci sono, sarebbe possibile visualizzare i consumi relativi a un solo mese? Sarebbe tipo un SELECT ... WHERE con la data relativa, ma essendo la data del tipo DD-MM-YYYY, dovrei estrarre da questa cella solo il dato MM, o YYYY se voglio l'anno.

PS: complimenti per il forum, da oggi sarà la mia community ufficiale per il php :)
 
Si si può fare. Basta utilizzare explode() sulla data, prenderti il mese e fare gli opportuni controlli sul mese.
 
Si puo fare anche direttamente da query

es.
Codice:
SELECT MONTH(data) FROM tabella WHERE....


oppure tutti i consumi di un mese
Codice:
SELECT * FROM tabella WHERE MONTH(data)=07

oppure per un anno ti basta sostituire con YEAR()
 
Ultima modifica:

Discussioni simili