Salve, avrei un problema che per me è davvero troppo complicato.
Ho queste 6 tabelle:
-user(userid,...)
-eventi(eventid,...)
-puntate(eventid,userid,coin,orario,vinta...)
-schedine(id_schedina,costo,inizio,conclusa...)
-schedine_giocate(id_schedina,userid,when,...)
-sfide(id_sfida,sfidato,sfidante,puntata,inizio,stato,...)
(Tutti questi campi sono INT, tranne "vinta","conclusa" e "stato")
Funziona così:
1.un utente con userid x quando gioca su un evento con eventid y si inserisce una riga nella tabella puntate con eventid=y,userid=x,coin è il numero di monete virtuali che ha deciso di puntare,orario è il timestamp di quando ha puntato, vinta è "forse" se la partita non è ancora conclusa, "si" se ha indovinato il risultato, "no" se l'ha sbagliato.
2.inserisco con un form delle righe nella tabella schedine (si crea un id_schedina, costo e inizio li scelgo io, conclusa può essere "si" o "no" a seconda che sia finita o meno.
3.un utente decide di puntare una schedina, spendendo il "costo" preso dalla tabella schedine. La sua giocata si inserisce in schedine_giocate(id_schedina è quello della schedina giocata, userid è il suo userid e when è il timestamp di quando ha giocato).
4.un utente può decidere di sfidare un proprio amico. In questo caso si inserisce in "sfide": id_sfida è l'ID della sfida, sfidante è il userid dell'utente che ha inviato la proposta di sfida, sfidato è l'userid dell'utente che ha ricevuto la proposta di sfida, puntata è l'importo di monete virtuali da puntare(scelto dallo sfidante), inizio è il timestamp dell'orario di inizio degli eventi associati alla sfida, stato può essere "richiesta" se la proposta non è ancora stata accettata, "rifiutata", "incorso", se è stata accettata, "conclusa", se tutti gli eventi sono già finiti.
Detto questo, spero che la panoramica sia chiara. Quello che vorrei fare è:
In una pagina sono riuscito a calcolare la somma totale dei coins in gioco di un determinato utente(somma da puntate, schedine_giocate e sfide). Ora mi piacerebbe visualizzare un box per ogni "elemento" in gioco di quel determinato. Un esempio:
Box 1 (puntata): orario - Hai puntato <coin> monete sull'evento <eventid>
Box 2 (schedine_giocate): when - Hai puntato <schedina.costo> monete sulla schedina <id_schedina>
Box 3 (sfida): inizio - Hai <puntata> coins in gioco in una sfida contro <sfidato o sfidante a seconda di chi ha creato la sfida>
...
Ovviamente per creare i box mi arrangio, mi serve un aiuto per recuperare i dati dal database
Spero di essermi spiegato, credo che bisogni utilizzare le UNION per fare ciò ma non sono pratico, qualcuno può aiutarmi?
Ho queste 6 tabelle:
-user(userid,...)
-eventi(eventid,...)
-puntate(eventid,userid,coin,orario,vinta...)
-schedine(id_schedina,costo,inizio,conclusa...)
-schedine_giocate(id_schedina,userid,when,...)
-sfide(id_sfida,sfidato,sfidante,puntata,inizio,stato,...)
(Tutti questi campi sono INT, tranne "vinta","conclusa" e "stato")
Funziona così:
1.un utente con userid x quando gioca su un evento con eventid y si inserisce una riga nella tabella puntate con eventid=y,userid=x,coin è il numero di monete virtuali che ha deciso di puntare,orario è il timestamp di quando ha puntato, vinta è "forse" se la partita non è ancora conclusa, "si" se ha indovinato il risultato, "no" se l'ha sbagliato.
2.inserisco con un form delle righe nella tabella schedine (si crea un id_schedina, costo e inizio li scelgo io, conclusa può essere "si" o "no" a seconda che sia finita o meno.
3.un utente decide di puntare una schedina, spendendo il "costo" preso dalla tabella schedine. La sua giocata si inserisce in schedine_giocate(id_schedina è quello della schedina giocata, userid è il suo userid e when è il timestamp di quando ha giocato).
4.un utente può decidere di sfidare un proprio amico. In questo caso si inserisce in "sfide": id_sfida è l'ID della sfida, sfidante è il userid dell'utente che ha inviato la proposta di sfida, sfidato è l'userid dell'utente che ha ricevuto la proposta di sfida, puntata è l'importo di monete virtuali da puntare(scelto dallo sfidante), inizio è il timestamp dell'orario di inizio degli eventi associati alla sfida, stato può essere "richiesta" se la proposta non è ancora stata accettata, "rifiutata", "incorso", se è stata accettata, "conclusa", se tutti gli eventi sono già finiti.
Detto questo, spero che la panoramica sia chiara. Quello che vorrei fare è:
In una pagina sono riuscito a calcolare la somma totale dei coins in gioco di un determinato utente(somma da puntate, schedine_giocate e sfide). Ora mi piacerebbe visualizzare un box per ogni "elemento" in gioco di quel determinato. Un esempio:
Box 1 (puntata): orario - Hai puntato <coin> monete sull'evento <eventid>
Box 2 (schedine_giocate): when - Hai puntato <schedina.costo> monete sulla schedina <id_schedina>
Box 3 (sfida): inizio - Hai <puntata> coins in gioco in una sfida contro <sfidato o sfidante a seconda di chi ha creato la sfida>
...
Ovviamente per creare i box mi arrangio, mi serve un aiuto per recuperare i dati dal database
Spero di essermi spiegato, credo che bisogni utilizzare le UNION per fare ciò ma non sono pratico, qualcuno può aiutarmi?
Ultima modifica: