- Home
- Categorie
- Coding e Sistemistica
- Gestione di Forum
- [PILLOLA] Mostrare ultimi post e topic in phpbb
-
mmmm
puoi rincollare l'errore?
Grazie
-
Allora riepilogo
file db_connect.php sulla root principale del sito:
<?php
mysql_connect("localhost", "xxxx", "xxxxxxx");
mysql_select_db("forum");function truncate($text, $chars) { $text = $text." "; $text = substr($text,0,$chars); $text = substr($text,0,strrpos($text,' ')); $text = $text."..."; return $text; } ?>
SCript presente nell'index.php nella root principale del sito:
<?php require("db_connect.php");
$sql="SELECT * FROM phpbb_topics inner join phpbb_posts_text on topic_first_post_id = post_id WHERE forum_id!=0 ORDER BY topic_id DESC LIMIT 4";
$risultati=mysql_query($sql,$dbForum); while($riga=mysql_fetch_array($risultati)) { $target=$riga["topic_title"]; $target1=$riga["topic_id"]; $visto=$riga["topic_views"]; $testo=$riga["post_text"]; echo"<span><a href=\"http://{$_SERVER['HTTP_HOST']}/forum/viewtopic.php?t=$target1\" title=\"$target\">$target</a>
".truncate($testo,100)."
</span>";
} ?>
errore al posto dello script presente nella pagina index.php:
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /var/www/html/dpc/index2.php on line 168
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/html/dpc/index2.php on line 169
:bho:
-
E' stato un errore mio!!!
$risultati=mysql_query($sql,$dbForum); è sbagliato in quanto serviva nel mio caso.
Per i casi comuni è
$risultati=mysql_query($sql);Copia il codice sotto che è già aggiustato!
<?php require("db_connect.php"); $sql="SELECT * FROM phpbb_topics inner join phpbb_posts_text on topic_first_post_id = post_id WHERE forum_id!=0 ORDER BY topic_id DESC LIMIT 4"; $risultati=mysql_query($sql); while($riga=mysql_fetch_array($risultati)) { $target=$riga["topic_title"]; $target1=$riga["topic_id"]; $visto=$riga["topic_views"]; $testo=$riga["post_text"]; echo"<span><a href=\"http://{$_SERVER['HTTP_HOST']}/forum/viewtopic.php?t=$target1\" title=\"$target\">$target</a> ".truncate($testo,100)." </span>"; } ?>
-
risolto???
-
GrazieEEE!!! ora va infatti! senti per dargli un font ed un size che voglio io al testo?
-
modifica questa riga
echo"<span><a href=\"http://{$_SERVER['HTTP_HOST']}/forum/viewtopic.php?t=$target1\" title=\"$target\">$target</a> ".truncate($testo,100)." </span>";
-
Non sono così pratico di php come lo modifico per testo verdana size=1 e color #666666?
-
echo"<span><font name=\"Verdana\" size=1 color=#666666><a href=\"http://{$_SERVER['HTTP_HOST']}/forum/viewtopic.php?t=$target1\" title=\"$target\">$target</a> ".truncate($testo,100)." </font></span>";
prova così, non l'ho testato..
-
Grazie ha funzionato ma il font ed i parametri in php non danno un risultato uguale rispetto a quello html quindi ho sistemato il td così:
<td colspan="3" valign="top" style="font-family:Verdana,Arial,Helvetica,sans-serif;color:#666666;font-size:10px;">
ed ora è perfetto.
Grande mod complimenti!!Senti e se uno volesse oltre agli ultimi mettere anche quelli con più views?
Ora chiedo troppo eh?
-
beh, basta modificare la query, domani gli do un occhio
-
tnx!!
-
Prova così:
al posto di questo
$sql="SELECT * FROM phpbb_topics inner join phpbb_posts_text on topic_first_post_id = post_id WHERE forum_id!=0 ORDER BY topic_id DESC LIMIT 4";
metti questo
$sql="SELECT * FROM phpbb_topics inner join phpbb_posts_text on topic_first_post_id = post_id WHERE forum_id!=0 ORDER BY topic_views DESC LIMIT 4";
Fammi sapere, non ho testato...
-
Per prima cosa salve e mille complimenti per il sito ( spero di postare qualcosa prossimamente ) . Mi presento mi chiamo Max e ho un grave problema : sono un anno che sto cercando di far apparire nella pagina principale gli ultimi topic del mio forum .. Fino quando hho visto questo bellissimo topic .. Ho pensato..è fatta !! Ho seguito alla lettera il vostro consiglio ma non funziona .. Per chiarezza ( spero di non annoiarvi ) vi spiego il mio problema : Il mio sito è www.kartoon3d.com
Come prima pagina ho un html che mi indirizza al resto del sito realizzato tutto con phpnuke . ...tutto tranne il forum, che è un modulo di un altro pacchetto php ( mbmf) . Il forum è un semplice phpbb ( versione 2.0.11) .Esistono quindi due database mysql ( uno per nuke e uno per il forum ) .. Ho provato giustamente il vostro codice , ma appare la scritta del tipo ( " this is example of topic phpbb2 : view, ....") in cui posso cliccare e mi rimanda alla pagina del forum ...
Ho due domande :- il blocco relativo al forum l'ho inserito nella sezione blocchi di nuke , mentre il db_connect nella pagina principale ..è giusto ??
- scrivendo nel db il mio user e password ...non si creano dei problemi di sicurezza ?
-avete un consiglio da darmi ?
Per ora vi ringrazio e mi scuso in anticipo per il disturbo
-
scusami ma non ho capito il problema che hai.
Per il fatto della sicurezza è sicuro in quanto il .php viene elaborato dal server e non viene visualizzato dal client.
Ciao
-
Allora io ho fatto come ha detto Giorgio ed ho eliminato il file db_connect.php
<?php
mysql_connect("localhost", "xxxx", "xxxxxxx");
mysql_select_db("forum");
function truncate($text, $chars) {
$text = $text." ";
$text = substr($text,0,$chars);
$text = substr($text,0,strrpos($text,' '));
$text = $text."...";
return $text;
}
$sql="SELECT * FROM phpbb_topics inner join phpbb_posts_text on topic_first_post_id = post_id WHERE forum_id!=0 ORDER BY topic_id DESC LIMIT 4";
$risultati=mysql_query($sql);
while($riga=mysql_fetch_array($risultati)) {
$target=$riga["topic_title"];
$target1=$riga["topic_id"];
$visto=$riga["topic_views"];
$testo=$riga["post_text"];
echo"<span><a href="http://{$_SERVER['HTTP_HOST']}/forum/viewtopic.php?t=$target1" title="$target">$target</a>
".truncate($testo,70)."</span>";
}Questo è un misto Tuono/Giorgio grazie ragazzi!!!
Ora provo il nuovo script tuono!!Ah dimenticavo complimenti per il sito adoro i radiocomandati ed il tuo sito è chiarissimo poi ti chiedo un paio di cose al riguardo se posso
-
Ciao, piccola domanda da profano....ho provato lo script funziona perfettamente ma il problema che mi visualizza anche i post che vengono scritti nell'area dei moderatori, come faccio ad escludere quei post?
SPero non sia troppo banale
-
Ho inserito questo codice nella mia homepage:
<? error_reporting(E_ALL); include("forum/config.php"); $sql="SELECT * FROM phpbb_topics WHERE forum_id!=15 ORDER BY topic_id DESC LIMIT 20"; $risultati=mysql_query($sql); while($riga=mysql_fetch_assoc($risultati)) { $target=$riga["topic_title"]; $target1=$riga["topic_id"]; echo" <a href=\"http://www.miosito.it/forum/viewtopic.php?t=$target1\" title=\"\">$target</a> "; } ?>
Ma non si vede niente.
Nemmeno un errore...niente di niente di niente di niente.
Ho provato a fare anche una pagina vuota con dentro solo questo codice e non si vede niente di niente.
Come mai???
-
Non so perché ma a me non funzionava il vostro script. Ne ho presto uno che ho trovato in internete, l'ho modificato un po' ed ora funziona tutto.
E' tutto ok quindi. Ci ho messo un po' ma almeno ora va.
-
Strano, mi posti l'altro script?
-
<?php $topicnumber = 10; $urlPath = "http://forum.miosito.it"; $phpbb_root_path = './forum/'; define('IN_PHPBB', true); include($phpbb_root_path . 'extension.inc'); include($phpbb_root_path . 'common.'.$phpEx); $table_topics = $table_prefix. "topics"; $table_forums = $table_prefix. "forums"; $table_posts = $table_prefix. "posts"; $table_users = $table_prefix. "users"; $query = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id, t.forum_id, p.post_id, p.poster_id, p.post_time FROM $table_topics t, $table_forums f, $table_posts p, $table_users u WHERE t.topic_id = p.topic_id AND f.forum_id = t.forum_id AND t.topic_status <> 2 AND p.post_id = t.topic_last_post_id AND p.poster_id = u.user_id ORDER BY p.post_id DESC LIMIT $topicnumber"; $result = mysql_query($query) or die("Query failed"); print ""; while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { echo "<a href=\"$urlPath/viewtopic.php?topic=$row[topic_id]\"></a> <a href=\"$urlPath/viewtopic.php?topic=$row[topic_id]\">" . $row["topic_title"] . "</a>**" . $row["username"] . ""; } print ""; mysql_free_result($result); ?>
Io ho usato questo codice. Teoricamente è sbagliato perché ho cancellato un po' di cose affinché mostri solo il nome del topic ma alcune informazioni le prende lo stesso ma non le fa vedere. Tipo la riga $row["username"] non posso cancellarla e non capisco perché.