phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

[RISOLTO] ricerca categoria topic via php

Area di discussione relativa al linguaggio di programmazione web più conosciuto. Il forum è dedicato anche a MySQL, la piattaforma di database più utilizzata con il PHP.
slade
Utente
Utente
Messaggi: 10
Iscritto il: 19/03/2014, 11:02
Sesso: Maschio
Versione: 3.0.12
Server: Windows
PHP: 5.4.8
Database: MySQL(i) 5.5.35
Contatta:

[RISOLTO] ricerca categoria topic via php

Messaggio da slade » 28/03/2014, 10:02

Salve a tutti, mi sto cimentando nella creazione di un sito web con forum. Il sito e' fatto con Joomla (http://www.ludoteca-itinerante.it), il forum e' phpbb3. Sono riuscito a far vedere dal sito gli ultimi post del forum con questo codice che ho trovato su internet e mi sono personalizzato un po':

Codice: Seleziona tutto

<?php
////////////////////////////////////////////////////////////////////////////
// Mario Santagiuliana
// script per visualizzare in una tabella gli ultimi messaggi inseriti in
// in un forum phpBB3 con database postgresql
// numero massimo di messaggi da visualizzare definiti da $limite
////////////////////////////////////////////////////////////////////////////
    
// numero massimo di messaggi da estrarre dal database
$limite=10;
    
// Titoli della tabella, possono essere cambiati o inseriti
// in un file di lingua per un sito web multilingua
$ForumTab="Forum";
$TopicTab="Topic";
$UtenteTab="Utente";
$OrarioTab="Ora invio";
//-----------------------------------------------------------
    
// file di configurazione di phpBB
// cambiare la patch se non corrisponde
include($_SERVER['DOCUMENT_ROOT'].'\forum\config.php');
    
$connessione = mysqli_connect($dbhost, $dbuser, $dbpasswd, $dbname);

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

// query principale per fare la richiesta degli ultimi messaggi/post
$sql="SELECT * FROM phpbb_posts ORDER BY post_time DESC LIMIT $limite";

$risultati=mysqli_query($connessione, $sql) or die ("Query non valida: " . mysql_error());

//-----
    
echo"\n<table border=\"1px\" cellpadding=\"3px\" cellspacing=\"0px\" style=\"width: 100%;\">\n";
echo" <tr>";
echo"<td>$ForumTab</td>";
echo"<td>$TopicTab</td>";
echo"<td>$UtenteTab</td>";
echo"<td>$OrarioTab</td>";
echo" </tr>";
while($riga = mysqli_fetch_array($risultati)) { 
     $titolo = $riga["post_subject"];
     $numero_topic = $riga["topic_id"]; 
     $data = $riga["post_time"];
     $posterid = $riga["poster_id"];
    
     //richiedo il nome di chi ha scritto il messaggio
     $richiesta="SELECT username FROM phpbb_users WHERE user_id = $posterid";
     $username=mysqli_fetch_row(mysqli_query($connessione, $richiesta));
    
     //richiedo il nome del forum
     $forum_id=$riga['forum_id'];
     $richiesta="SELECT DISTINCT forum_name FROM phpbb_forums WHERE forum_id = $forum_id";
     $Nomeforum=mysqli_fetch_row(mysqli_query($connessione, $richiesta));
    
     echo" <tr>\n";
     echo" <td><a href=\"/forum/viewforum.php?f=$forum_id\" onclick=\"window.open(this.href);return false;\" style=\"color: blue;\">".$Nomeforum['0']."</a></td>";
     //se il titolo del messaggio è troppo lungo lo taglio
     if(strlen($titolo)<25)
         echo" <td style=\"width: 170px;\"><a href=\"/forum/viewtopic.php?t=$numero_topic\" onclick=\"window.open(this.href);return false;\" title=\"$titolo\" style=\"color: blue;\">$titolo</a></td>\n";
     else
         echo" <td style=\"width: 170px;\"><a href=\"/forum/viewtopic.php?t=$numero_topic\" onclick=\"window.open(this.href);return false;\" title=\"$titolo\" style=\"color: blue;\">".substr($titolo,0,25)."... </a></td>\n";
     echo" <td>$username[0] </td>\n"; 
     echo" <td style=\"width: 110px;\">".date(' H:i - d/m/y ', $data)."</td>\n";
     echo" </tr>\n";
}//Fine del while 
    
echo"</table>\n\n";
    
mysqli_close($connessione);
?>
il mio problema e' che tra gli ultimi post ci sono anche quelli di una sezione nascosta visibile solo dal consiglio di amministrazione. Mi va bene che si vedano nell'elenco, ma li vorrei formattare in rosso e italico. Visto che questi topic sono "sotto" la categoria "Consiglio di amministrazione" c'e' modo di filtrarli in qualche modo? L'alternativa che avevo pensato e' quella di mettere nei titoli dei topic una sigla e filtrarli per quella, ma mi piacerebbe si potesse fare con la categoria

Grazie per l'attenzione
Ultima modifica di slade il 28/03/2014, 12:44, modificato 1 volta in totale.

slade
Utente
Utente
Messaggi: 10
Iscritto il: 19/03/2014, 11:02
Sesso: Maschio
Versione: 3.0.12
Server: Windows
PHP: 5.4.8
Database: MySQL(i) 5.5.35
Contatta:

Re: ricerca categoria topic via php

Messaggio da slade » 28/03/2014, 12:42

Gia' risolto, occorre fare una query sulla tabella phpbb_forums, il campo che interessa e' forum_parents

Avatar utente
Barrnet
Leader Moderatori
Leader Moderatori
Messaggi: 3124
Iscritto il: 04/07/2010, 23:31
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux
PHP: 5.3.10
Database: MySQL 5.1.61-community-log
Contatta:

Re: [RISOLTO] ricerca categoria topic via php

Messaggio da Barrnet » 28/03/2014, 14:58

Basta che modifichi la query:

Codice: Seleziona tutto

$sql="SELECT * FROM phpbb_posts WHERE forum_id != idsezione OR forum_id !=  idsezione
ORDER BY post_time DESC LIMIT $limite"
Ovviamente nel caso le sezioni siano di meno o di più aggiungi o rimuovi ulteriori "OR".

slade
Utente
Utente
Messaggi: 10
Iscritto il: 19/03/2014, 11:02
Sesso: Maschio
Versione: 3.0.12
Server: Windows
PHP: 5.4.8
Database: MySQL(i) 5.5.35
Contatta:

Re: [RISOLTO] ricerca categoria topic via php

Messaggio da slade » 29/03/2014, 22:33

Ho preferito lavorare sul parents

Codice: Seleziona tutto

 $richiesta="SELECT DISTINCT forum_parents FROM phpbb_forums WHERE forum_id = $forum_id";

Segnalo
Utente
Utente
Messaggi: 244
Iscritto il: 08/12/2013, 18:40
Sesso: Maschio
Versione: 3.0.12
Server: Windows
PHP: 5.3
Contatta:

Re: [RISOLTO] ricerca categoria topic via php

Messaggio da Segnalo » 30/03/2014, 10:40

funziona?

slade
Utente
Utente
Messaggi: 10
Iscritto il: 19/03/2014, 11:02
Sesso: Maschio
Versione: 3.0.12
Server: Windows
PHP: 5.4.8
Database: MySQL(i) 5.5.35
Contatta:

Re: [RISOLTO] ricerca categoria topic via php

Messaggio da slade » 30/03/2014, 11:28

Si, non avrei messo risolto :)
Il risultato lo puoi vedere sul sito http://www.ludoteca-itinerante.it alla voce ultimi post in basso

Ciao

slade
Utente
Utente
Messaggi: 10
Iscritto il: 19/03/2014, 11:02
Sesso: Maschio
Versione: 3.0.12
Server: Windows
PHP: 5.4.8
Database: MySQL(i) 5.5.35
Contatta:

Re: [RISOLTO] ricerca categoria topic via php

Messaggio da slade » 02/04/2014, 23:10

Ho fatto una modifica (mi sono accorto di un problema sulla mia pelle).
Invece che lavorare sul forum_parents e' meglio lavorare sul campo parent_id, almeno se si cambia il nome del forum non da problemi ;) inoltre e' piu' veloce controllare un campo numerico piuttosto che cercare all'interno di una stringa

Harrison
Utente
Utente
Messaggi: 34
Iscritto il: 02/04/2013, 18:12
Versione: 3.0.11
Server: UNIX/Linux
PHP: 5.2.17
Database: MySQL 5.1.31

Re: [RISOLTO] ricerca categoria topic via php

Messaggio da Harrison » 29/08/2018, 17:17

Ciao a tutti,
meno male ci sono forum di questo tipo nel caso qualcuno abbia dei problemi con PHP.
Più teste sono meglio di una testa e basta, sopprattutto in queste cose.
Saluti a tutti.

__________________
Come aprire una ludoteca: Visita Fun-World.it

Rispondi

Torna a “PHP - MySQL”

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti