Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    764

    meglio UNION o nuova tabella?

    Buona sera,

    vorrei realizzare una sorta di log degli aggiornamenti sul mio sito, per capirci simile a quello di facebook (l'utente X ha commentato la foto Y, l'utente Z ha inserito una nuova foto, ecc.)
    per farlo dovrei quindi estrarre dei dati dal DB, memorizzati in tabelle diverse, con nome dei campi e numero dei campi diverso, in modo da ordinarli secondo la data di inserimento.
    Volevo sapere da voi se è meglio farlo tramite una semplice UNION ALL (una query per ogni sezione mi sembra impensabile, voi che dite? saranno una 20ina di query in totale) di tutte le tabelle interessate (per i commenti delle foto/video/news/ecc. già lo faccio), magari aggiungendo dei campi 'dummy' alla tabelle con meno campi e mettendo degli alias ai campi 'data' in modo che siano tutti con lo stesso nome e poter inserire un "ORDER BY data DESC" finale (in questo caso c'è un metodo per sapere da quale tabella arriva il risultato? (es. dalla tabella commenti_galleria o commenti_video?)) oppure, cosa più facile a dirsi ma non a farsi, creare una tabella 'aggiornamenti', prendere in mano gli script esistenti, modificarli in modo che quando un utente compie qualche azione (inserimento, commento, voto, ecc.) venga salvata in questa tabella?

    fatemi sapere la vostra ed eventuali problemi che comporta l'una e l'altra, come risolvereste voi, ecc ecc.

  2. #2
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    764
    uppete

  3. #3
    io farei una nuova tabella
    Ciao!

  4. #4
    Io opterei per la seconda ipotesi.

    Molto più pulito e semplice da interpretare!

  5. #5
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    764
    piccola info sempre inerente a questo contesto...

    come posso fare a raggruppare gli eventi simili, dello stesso utente e che 'avvengono in successione' .. ossia:
    codice:
    id	utente		azione	data
    1	2		foto	20100808110000
    2	2		foto	20100808120000
    3	2		foto	20100808150000
    4	5		foto	20100808170000
    5	1		foto	20100808190000
    6	2		foto	20100808210000
    con stesso utente, stessa azione e data direttamente successiva nella query

    vorrei mi restituisse:
    l'utente 2 ha inserito una foto (data 20100808110000) e altri 2 eventi simili
    l'utente 5 ha inserito una foto (data 20100808170000)
    l'utente 1 ha inserito una foto (data 20100808190000)
    ecc...

    spero di essermi spiegato..

  6. #6
    Che significa data successiva nella query? Ma successiva a cosa?

  7. #7
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    764
    successiva nel senso che sono consecutive quando le ordino per data DESC

  8. #8
    Na cosa così?

    Codice PHP:
    SELECT FROM eventi GROUP BY utenteazione ORDER BY data DESC 

  9. #9
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    764
    ma così facendo i valori con id =6 non vengono mostrati

    codice:
    id	utente		azione	data
    1	2		foto	20100808110000
    2	2		foto	20100808120000
    3	2		foto	20100808150000
    4	5		foto	20100808170000
    5	1		foto	20100808190000
    6	2		foto	20100808210000

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 © 2024 vBulletin Solutions, Inc. All rights reserved.