Topic_list - Lista alfabetica delle discussioni

Area dedicata a tutte le estensioni per phpBB 3.3.x
Rispondi
Avatar utente
Micogian
Globalmod
Globalmod
Messaggi: 588
Iscritto il: 17/03/2016, 17:53
Link del Forum: https://www.actaplantarum.org

Re: Topic_list - Lista alfabetica delle discussioni

Messaggio da Micogian »

Sembra che l'errore sia causato da questa query:

Codice: Seleziona tutto

			//CONTEGGIO DEL NUMERO DEGLI ARGOMENTI (Topics)
			$tot = $this->db->sql_query("SELECT t.forum_id, t.topic_id, count(t.topic_id) AS total
			FROM ". TOPICS_TABLE." t
			WHERE t.forum_id IN($where_list)
			AND t.topic_moved_id = 0
			AND t.topic_last_post_time  > $data_post
			ORDER BY t.topic_id");
			$row_tot = $this->db->sql_fetchrow($tot);			
			
			//####################################################
			$total_topics	= $row_tot['total'];    				// totale dei topics selezionati
Io questo errore non lo riscontro e devo andare per tentativi.
Visto che il controllo viene fatto solo sulla tabella "topics" proverei a togliere il riferimento "t" della tabella, in questo modo:

Codice: Seleziona tutto

			//CONTEGGIO DEL NUMERO DEGLI ARGOMENTI (Topics)
			$tot = $this->db->sql_query("SELECT forum_id, topic_id, count(topic_id) AS total
			FROM ". TOPICS_TABLE." 
			WHERE forum_id IN($where_list)
			AND topic_moved_id = 0
			AND topic_last_post_time  > $data_post
			ORDER BY topic_id");
			$row_tot = $this->db->sql_fetchrow($tot);			
			
			//####################################################
			$total_topics	= $row_tot['total'];    				// totale dei topics selezionati
Avatar utente
ItalianCoverDesign
Supporter
Supporter
Messaggi: 174
Iscritto il: 18/08/2021, 15:56
Link del Forum: https://www.italiancoverdesign.com
Località: Toscana
Contatta:

Re: Topic_list - Lista alfabetica delle discussioni

Messaggio da ItalianCoverDesign »

Dunque, mi pare qualcosa sia cambiato nell'errore, anche se c'è sempre:

Codice: Seleziona tutto

SQL ERROR [ mysqli ]

In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column 'Sql1573107_1.avphpbb_topics.forum_id'; this is incompatible with sql_mode=only_full_group_by [1140]

SQL

SELECT forum_id, topic_id, count(topic_id) AS total FROM avphpbb_topics WHERE forum_id IN(150,149,147,148) AND topic_moved_id = 0 AND topic_last_post_time > 0 ORDER BY topic_id

BACKTRACE
Avatar utente
Micogian
Globalmod
Globalmod
Messaggi: 588
Iscritto il: 17/03/2016, 17:53
Link del Forum: https://www.actaplantarum.org

Re: Topic_list - Lista alfabetica delle discussioni

Messaggio da Micogian »

Sembra che il problema sia nella versione di mysql di Aruba e riguarda la seguente query:

Codice: Seleziona tutto

			//CONTEGGIO DEL NUMERO DEGLI ARGOMENTI (Topics)
			$tot = $this->db->sql_query("SELECT t.forum_id, t.topic_id, count(t.topic_id) AS total
			FROM ". TOPICS_TABLE." t
			WHERE t.forum_id IN($where_list)
			AND t.topic_moved_id = 0
			AND t.topic_last_post_time  > $data_post
			ORDER BY t.topic_id");
			$row_tot = $this->db->sql_fetchrow($tot);			
			//####################################################
			$total_topics	= $row_tot['total'];    				// totale dei topics selezionati
La query serve a calcolare il numero dei records per poterli eventualmente suddividere in più pagine se il totale supera il valore stabilito con la variabile "$per_page".

Ho modificato la query togliendo il "count(t.topic_id) AS total" che sembra dia l'errore,
La nuova query che sostituisce la precedente è questa:

Codice: Seleziona tutto

			// CONTEGGIO DEL NUMERO DEGLI ARGOMENTI (Topics) NEW
			$tot = $this->db->sql_query("SELECT * FROM ". TOPICS_TABLE." 
			WHERE forum_id IN($where_list)
			AND topic_moved_id = 0
			AND topic_last_post_time  > $data_post
			ORDER BY topic_id");
			$n=0;
			while ($tot_row = $this->db->sql_fetchrow($tot))
			{
				++$n;
			}            
			//####################################################
			$total_topics  = $n + 1;
In questo modo funziona. Vedrò di modificare l'estensione creando la versione 1.0.6.
Avatar utente
ItalianCoverDesign
Supporter
Supporter
Messaggi: 174
Iscritto il: 18/08/2021, 15:56
Link del Forum: https://www.italiancoverdesign.com
Località: Toscana
Contatta:

Re: Topic_list - Lista alfabetica delle discussioni

Messaggio da ItalianCoverDesign »

Confermo, problema risolto e funzionante al 100%. Grazie
Avatar utente
ItalianCoverDesign
Supporter
Supporter
Messaggi: 174
Iscritto il: 18/08/2021, 15:56
Link del Forum: https://www.italiancoverdesign.com
Località: Toscana
Contatta:

Re: Topic_list - Lista alfabetica delle discussioni

Messaggio da ItalianCoverDesign »

Salve, volevo chiedere se c'è un modo per visualizzare nella lista, acconto al nome di ogni singolo topic inserito, anche il forum dal quale è stato preso.

Ad esempio, il mio forum tratta copertine dvd; le copertine, sono suddivise in più forum, in base alla categoria di appartenenza: label dvd, cover dvd, label bluray, ecc..
Inserendo infatti più forum all'interno di una sola lista, non vi è una classificazione del forum di provenienza, rendendo così complicata la consultazione.
Ecco un esempio di quello che visualizzo:

screenshot_260.png

come si può notare, ci sono più righe con lo stesso titolo, ma non sapendo il forum di provenienza per conoscerne il tipo, l'utente è costretto a visionarle tutte.
Siccome la mia struttura forum è questa:

screenshot_261.png

se su ogni riga ci fosse il forum di appartenenza, o meglio, tutto il percorso, sarebbe ottimo.

Spero di essere stato chiaro, grazie a tutti
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Avatar utente
Micogian
Globalmod
Globalmod
Messaggi: 588
Iscritto il: 17/03/2016, 17:53
Link del Forum: https://www.actaplantarum.org

Re: Topic_list - Lista alfabetica delle discussioni

Messaggio da Micogian »

Si può fare, la variabile "FORUM_NAME" è già disponibile, si tratta di assegnare ad ogni campo lo spazio necessario in modo che tutto resti nella riga.
Vedrò cosa posso fare.
Avatar utente
ItalianCoverDesign
Supporter
Supporter
Messaggi: 174
Iscritto il: 18/08/2021, 15:56
Link del Forum: https://www.italiancoverdesign.com
Località: Toscana
Contatta:

Re: Topic_list - Lista alfabetica delle discussioni

Messaggio da ItalianCoverDesign »

Micogian ha scritto: 10/06/2022, 10:43 Si può fare, la variabile "FORUM_NAME" è già disponibile, si tratta di assegnare ad ogni campo lo spazio necessario in modo che tutto resti nella riga.
Vedrò cosa posso fare.
:clapi: :hi:
Avatar utente
Micogian
Globalmod
Globalmod
Messaggi: 588
Iscritto il: 17/03/2016, 17:53
Link del Forum: https://www.actaplantarum.org

Re: Topic_list - Lista alfabetica delle discussioni

Messaggio da Micogian »

Tra l'altro la mia prima versione di "topic_list" comprendeva anche il Forum d'origine, un esempio è nel mio forum di prove: https://giannidose.altervista.org/forum ... p?f=2&t=52

Adesso non ricordo per quale motivo poi lo abbia tolto. Forse per ragioni di spazio oppure perchè quando la Lista dei topics riguarda il Forum corrente, in questo caso non serve, è utile quando la Lista dei topics riguarda più Forums.
Per fare una modifica all'estenzione "topic_list" dovrei inserire la possibilità di poter scegliere la lista dei campi da visualizzare.
Un altro problema riguarda la possibilità di scegliere il numero dei topics della Lista, se sono troppi potremmo avere problemi di lentezza nella visualizzazione della pagina, se dividiamo la Lista in pagine con limite massimo di topics visuaiizzati abbiamo una limitazione della funzione "cerca".
Non è semplice, per trovare un giusto equilibrio credo che ci vorrà del tempo.
Avatar utente
ItalianCoverDesign
Supporter
Supporter
Messaggi: 174
Iscritto il: 18/08/2021, 15:56
Link del Forum: https://www.italiancoverdesign.com
Località: Toscana
Contatta:

Re: Topic_list - Lista alfabetica delle discussioni

Messaggio da ItalianCoverDesign »

Caspita! Il problema è che non trovo nulla di simile in rete, e non sono capace di scrivere del codice che faccia questo.
Alla fine, devo creare una lista unica su 15 o 20 forum... circa 5000 post (per il momento). Non so proprio che strada intraprendere.
Attualmente rimarrò con la speranza di questa tua implementazione. Ti ringrazio tantissimo.
Avatar utente
ItalianCoverDesign
Supporter
Supporter
Messaggi: 174
Iscritto il: 18/08/2021, 15:56
Link del Forum: https://www.italiancoverdesign.com
Località: Toscana
Contatta:

Re: Topic_list - Lista alfabetica delle discussioni

Messaggio da ItalianCoverDesign »

Salve, ho un nuovo quesito su questa estensione.
Capisco lo scopo finale dell'estensione ma, nell'ottica di una modifica personale per implementarla al meglio nel mio forum, sarebbe troppo oneroso, oltre al forum da cui deve creare la lista, riuscire a filtrare solo gli argomenti di un utente specifico? Magari potendolo specificare proprio all'interno del bbcode tipo così:

Codice: Seleziona tutto

[ ttlist=tizio ]45,46[ /ttlist ]
oppure indicando il user_id di mysql:

Codice: Seleziona tutto

[ ttlist=12 ]45,46[ /ttlist ]
Rispondi