[RISOLTO][GDRCD da 5.2] Perfezionamento bacheca
[RISOLTO][GDRCD da 5.2] Perfezionamento bacheca postato il 16/01/2018 12:46:45 nel forum programmazione, open source e hosting e modificato da staff shadowland il 20/02/2018 14:39:33
Volevo provare a perfezionare una funzionalità della bacheca in Gdrcd 5.2 (o anche qualsiasi altra versione va bene), ovvero di far sì che alla voce "1 nuovo topic" accanto alla sezione della bacheca in cui è stata inserita una comunicazione, venisse indicato anche il tipo di argomento al quale si è data risposta ed il nome dell'ultimo utente che ha commentato. Suggerimenti su come poter applicare una simile funzione? il codice della pagina dei forum è complesso, vorrei evitare di mettere mano là dove si potrebbero compromettere alcune funzioni per il corretto utilizzo della sezione.Se ne verrò a capo anche grazie al vostro aiuto, provvederò a inserirlo qui in modo che anche altri possano usufruirne. Grazie per l'attenzione ^^
Pagine → 1 2
17/01/2018 09:47:43
quando dici "tipo di argomento" ti riferisci al titolo del thread relativo alla bacheca?
19/02/2018 02:02:52
Per facilitare il tutto, mi basterebbe anche solo inserire: Data/ora/nome dell'ultimo utente che ha commentato in quella sezione.La parte del codice dove andrebbe integrato il tutto è alla seguente stringa presente in forum.inc:
$new_msg = gdrcd_query("SELECT COUNT(MA.id_messaggio) AS num FROM messaggioaraldo AS MA LEFT JOIN araldo_letto AS AL ON MA.id_messaggio=AL.thread_id AND AL.nome='".$_SESSION['login']."' WHERE MA.id_araldo = ".$row['id_araldo']." AND MA.id_messaggio_padre = -1 AND AL.id IS NULL"); ?> <tr><!-- Forum della categoria --> <td class="forum_main_post_author"> <div class="forum_date_big"> <?php if($new_msg['num']>0) { if ($new_msg['num'] == 1) { echo '1 ' . $MESSAGE['interface']['forums']['topic']['new_posts_forum']; } else { echo $new_msg['num']. ' ' . $MESSAGE['interface']['forums']['topic']['new_posts_forum']; } } ?>
Andando ad aggiungere soltanto data/ora in questo modo:<div class="forum_date_big">Data: <?php echo gdrcd_format_date($row['data_messaggio']).' Ore: '.gdrcd_format_time($row['data_messaggio']); ?></div></div>
Mi rimanda data ed ora inesatti e tutte uguali per ogni sezione della bacheca (la prima pagina che si apre per intenderci). Sicuramente manca qualche richiamo ma non riesco ad individuare esattamente quale. Medesima cosa per il nome dell'ultimo giocatore che ha commentato (non riesco a trovare la stringa che lo richiami), essendo il codice di questa pagina molto intricato per me.Qualche dritta o consiglio?
19/02/2018 16:33:19 e modificato da seralia il 19/02/2018 16:47:42
Non credo possa funzionare perché la query iniziale non carica i messaggi, ma le bacheche. L'array $row contiene solo ciò che hai richiamato dalla query:
$result = gdrcd_query("SELECT id_araldo, nome, tipo, proprietari FROM araldo ORDER BY tipo, nome", 'result');
EDIT:Eccoti la parte di codice che hai postato con due righe di aggiunta (prima della chiusura dell'ultima graffa)$new_msg = gdrcd_query("SELECT COUNT(MA.id_messaggio) AS num FROM messaggioaraldo AS MA LEFT JOIN araldo_letto AS AL ON MA.id_messaggio=AL.thread_id AND AL.nome='".$_SESSION['login']."' WHERE MA.id_araldo = ".$row['id_araldo']." AND MA.id_messaggio_padre = -1 AND AL.id IS NULL"); ?> <tr><!-- Forum della categoria --> <td class="forum_main_post_author"> <div class="forum_date_big"> <?php if($new_msg['num']>0) { if ($new_msg['num'] == 1) { echo '1 ' . $MESSAGE['interface']['forums']['topic']['new_posts_forum']; } else { echo $new_msg['num']. ' ' . $MESSAGE['interface']['forums']['topic']['new_posts_forum']; } $maxdate = gdrcd_query("SELECT MAX(MA.data_messaggio) AS data FROM messaggioaraldo AS MA WHERE MA.id_araldo = ".$row['id_araldo'].""); //Tiro fuori la data più alta in tutti i messaggi che hanno id_araldo = a quello che stiamo visualizzando echo 'Data: '.php echo $maxdate['data']; //stampo la data che ho tirato fuori } ?>
La query e realtiva stampa sono inserite dentro la if ($new_msg['num'] == 1) in modo che se ci sono nuovi messaggi va a prendere la data: se non ce ne sono, non accade nulla.Testala, perché non ho un server in cui provarla e aggiungi i filtri di stampa per le date di gdrcd: scusa la soluzione zoppa, ma altrimenti non posso fare lavori di fino per adesso.Se poi oltre alla data vuoi tirare fuori altro (tipo l'autore) il procedimento è sibile: effettui una query che viene fatta solo se ci sono nuovi messaggi in cui vai a prendere i dati che ti occorrono e poi li stampi a video...
19/02/2018 17:36:16
Grazie per le dritte!la stringa postata mi rimanda un errore:
Parse error: syntax error, unexpected 'echo' (T_ECHO), expecting ',' or ';'
19/02/2018 18:27:31
staff shadowland ha scritto: Grazie per le dritte!la stringa postata mi rimanda un errore:
Parse error: syntax error, unexpected 'echo' (T_ECHO), expecting ',' or ';'
Vuol dire che è saltato il ; alla riga primaForse lo hai tolto togliendo il mio commento?O magari ho sbagliato qualcosa nel commento e lo prende come stringa?Dacci un occhio: l'errore si risolve rimettendo il ; alla fine della riga sopra a quella in cui ti segnala il problema
19/02/2018 20:42:54 e modificato da staff shadowland il 19/02/2018 20:43:20
No non ho cambiato/tolto nulla, ho solo modificato gli apici ma per il resto ho seguito le indicazioni
19/02/2018 21:19:13
Stupidaggine mia in un copia incolla: la echo era doppia.Metti
echo 'Data: '. $maxdate['data'];
e dovrebbe andare
20/02/2018 00:22:47
Adesso funziona :D l'unica cosa è che la data compare in questa maniera-> 2018-02-19 piuttosto che -> 19-02-2018per il resto provo a vedere se riesco ad inserire anche il nome dell'ultimo pg che ha risposto in bacheca =)
20/02/2018 11:38:27
Succede perchè fai l'echo diretto di:
$maxdate['data']
che la stampa nel formato in cui viene salvato in mysql dovresti passarla per una delle funzioni che formattano la data nel gdrcd prima gdrcd_format_date() o gdrcd_format_datetime();tipoecho gdrcd_format_date($maxdate['data']);
Discussione seguita da
Pagine → 1 2
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!