Hallo, Gast!
AnmeldenRegistrieren

Script soll nur Themen aus einer Kategorie anzeigen
#1
Hallo, ich habe mir diesen Code geholt:
PHP-Code:
<?php
// Daten für Verbindung zur Datenbank
$dbhost "";
$dbuser "";
$dbpassword "";
$dbdatabase "";




// Präfix
$prefix "mybb_";

// URL zum Forum 
$url "http://www. link .de";

// Anzahl der Themen
$limit "5";

// Verbindung zur Datenbank aufnehmen
$db mysql_connect($dbhost,$dbuser,$dbpassword) or die ("Verbindung fehlgeschlagen");  
mysql_select_db($dbdatabase,$db);

// Überschrift
echo "<strong>Neueste Themen</strong><br />";

// Liste starten
echo "<ul>";

// Letzte Themen auslesen
$query mysql_query ("SELECT subject,tid FROM ".$prefix."threads WHERE visible='1' ORDER BY tid DESC LIMIT 1,".$limit."");

while (
$newest_threads mysql_fetch_array($query)) 
    {
    echo 
"<li><a href=\"".$url."/showthread.php?tid=".$newest_threads['tid']."\" target=\"_blank\">".$newest_threads['subject']."</a></li>";
    }

// Liste schließen
echo "</ul>";
?>
Er verlinkt die neuesten Themen auf einer externen Seite verlinken. Ich will aber, dass er nur die Themen aus der fid "3" verlinkt. Geht es auch, dass der User, der das Theme geschrieben hat angezeigt wird und das Datum? Danke!
 
#2
Ersetze:
PHP-Code:
$query mysql_query ("SELECT subject,tid FROM ".$prefix."threads WHERE visible='1' ORDER BY tid DESC LIMIT 1,".$limit.""); 
durch:
PHP-Code:
$query mysql_query ("SELECT subject,tid FROM ".$prefix."threads WHERE visible='1' AND fid='3' ORDER BY tid DESC LIMIT 1,".$limit.""); 
Das andere kannst du einbauen. Das müsste hier schon erklärt worden sein: https://www.mybb.de/forum/showthread.php?tid=507
 
#3
Danke, es geht! Kann mir aber jemand noch mit dem Autor und dem datum helfen?
 
#4
PHP-Code:
//User und Datum auslesen
$userquery mysql_query ("SELECT uid,username,dateline FROM ".$prefix."posts WHERE visible='1' AND tid= ".$newest_threads['tid']." ORDER BY tid DESC LIMIT 0,1 ");
$udata mysql_fetch_array($userquery); 

Die Daten sind dann in dem array $udata gespeichert, zugreifbar über $udata['uid'], $udata['username'] und $udata['dateline']. Der Wert in dateline ist ein Unix-Timestamp, muss also folglich noch formatiert werden.

//Edit: Mein hunderster Beitrag, freu :-)
 
#5
Dave schrieb:
PHP-Code:
//User und Datum auslesen
$userquery mysql_query ("SELECT uid,username,dateline FROM ".$prefix."posts WHERE visible='1' AND tid= ".$newest_threads['tid']." ORDER BY tid DESC LIMIT 0,1 ");
$udata mysql_fetch_array($userquery); 

Die Daten sind dann in dem array $udata gespeichert, zugreifbar über $udata['uid'], $udata['username'] und $udata['dateline']. Der Wert in dateline ist ein Unix-Timestamp, muss also folglich noch formatiert werden.

//Edit: Mein hunderster Beitrag, freu :-)
Ich bin kein PHP-Profi, deswegen weiß ich nicht, was ich da formatieren soll.
Wenn ich den Code einfüge, kommt nur das:

Zitat:Warning: mysql_query(): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /home/web192/haag08/ftprootwww.meine-seite.org/ps.php on line 21

Warning: mysql_query(): A link to the server could not be established in /home/web192/haag08/ftproot/www.meine-seite.org/ps.php on line 21

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/web192/haag08/ftproot/www.meine-seite.org/ps.php on line 22
Neueste Themen

* Seite wird angepasst!
 
#6
Es wird gar kein zweiter Query benötigt. Ersetze den vorhandenen Codeausschitt mal bitte durch diesen:
PHP-Code:
// Letzte Themen auslesen
$query mysql_query ("SELECT subject,tid,username,dateline FROM ".$prefix."threads WHERE visible='1' AND fid='3' ORDER BY tid DESC LIMIT 1,".$limit."");

while (
$newest_threads mysql_fetch_array($query))
    {
    
$date date("d.m.y, H:i"$newest_threads['dateline']);
    echo 
"<li><a href=\"".$url."/showthread.php?tid=".$newest_threads['tid']."\" target=\"_blank\">".$newest_threads['subject']."</a> von ".$newest_threads['username']." (".$date.")</li>";
    } 
 
#7
Da kommt wieder nur eine Fehlermeldung Sad
Zitat:Parse error: parse error, unexpected T_ECHO in /home/web192/haag08/ftproot/www.meine-seite.com/board/ps.php on line 40
Zeile 40:
PHP-Code:
echo "<li><a href=\"".$url."/showthread.php?tid=".$newest_threads['tid']."\" target=\"_blank\">".$newest_threads['subject']."</a> von ".$newest_threads['username']." (".$date.")</li>"
 
#8
Hallo Pokecamp,

Bitte ersetze Michaels Codeschnipsel mit diesem:

PHP-Code:
// Letzte Themen auslesen
$query mysql_query ("SELECT subject,tid,username,dateline FROM ".$prefix."threads WHERE visible='1' AND fid='3' ORDER BY tid DESC LIMIT 1,".$limit."");

while (
$newest_threads mysql_fetch_array($query))
    {
    
$date date("d.m.y, H:i"$newest_threads['dateline']);
    echo 
"<li><a href=\"".$url."/showthread.php?tid=".$newest_threads['tid']."\" target=\"_blank\">".$newest_threads['subject']."</a> von ".$newest_threads['username']." (".$date.")</li>";
    } 
 
#9
Da kommt wieder ein Fehler Sad
Zitat:Warning: mysql_query(): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /home/web192/haag08/ftproot/www.s-e-it-e.de/board/ps.php on line 21

Warning: mysql_query(): A link to the server could not be established in /home/web192/haag08/ftproot/www.s-e-it-e.de/board/ps.php on line 21

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/web192/haag08/ftproot/www.s-e-it-e.de/board/ps.php on line 22
Neueste Themen
 
#10
Es konnte keine Verbindung zur Datenbank aufgebaut werden.
Bite überprüfe dein Script, ob die Datenbankverbindungsdaten stimmig sind.

Mfg Garlant
 


Möglicherweise verwandte Themen…
User soll in bestimmter Kategorie Thema schließen können
Letzter Beitrag: 26.04.2017, 19:19
Neueste Themen aus zwei Foren anzeigen
Letzter Beitrag: 29.09.2010, 09:45
Anzeige einer Variable aus Plugins im Template festlegen
Letzter Beitrag: 16.09.2009, 21:27
[erledigt] Letzten 5 Themen aus einer Kategorie
Letzter Beitrag: 28.06.2007, 15:04