Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Übersicht aller Themen mit eigenen Beiträgen
#1
Hallo zusammen,

für die Version 1.2 bin ich auf der Suche nach einem Plugin, das den Usern ermöglicht, nach allen Themen zu suchen, in die sie selbst gepostet haben (egal wie oft; nur das jeweilige Thema wird angezeigt). Nicht zu verwechseln mit der Anzeige "Alle eigenen Beiträge" im jeweiligen eigenen Profil, die meiner Meinung nach für diesen Zweck recht unübersichtlich ist und auch nicht mit "eigene Themen", da hier ja nur die Themen gelistet werden, die der entsprechende User selbst verfasst hat. Wink

Wir haben in letzter Zeit sehr viele neue User bekommen, die aus einem großen phpBB Forum so eine Übersicht gewöhnt sind und den Wünschen würde ich gerne nachkommen.

Sollte es so ein Plugin nicht geben, bitte ich den Betrag zu verschieben, weil ich dann sicher ein paar Fragen haben werde, wie man so etwas realisieren kann. Rolleyes
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#2
So was würde ich mir auch auf mybboard.de wünschen; würde einem bei Supportanfragen das Leben leichter machen Wink
 
The User, Formerly Known As "En-Gedi"
 
Zitieren
#3
Auch wenn sich zur Zeit alles auf 1.4 stürzt, würde ich noch gerne das o.a. Thema für die Version 1.2 umsetzen, benötige dazu aber ein wenig Unterstützung.

Ich gehe mal davon aus, dass die Funktion, die alle Beiträge eines Users zusammenstellt, als Grundlage verwendet werden könnte!? Bin ich da auf der richtigen Spur?

Wenn dem so ist, stellt sich mir die Frage, wie ich die DB-Abfrage so eingrenzen kann, dass die Ausgabe des Ergebnisses nur das jeweilige Thema enthält, in dem der User mindestens 1 Beitrag geschrieben hat.

Kann mir da evtl. jemand einen Tipp geben?

Dankeschön im Voraus!


P.S.: gibt es eigentlich in der V1.4 so eine Funktion?
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#4
Nein, in MyBB 1.4 gibt es so eine Funktion nicht. Hier mal ein Codeschnipsel dazu:
PHP-Code:
<?php
define
("IN_MYBB"1);
define("NO_ONLINE"1);
require(
"global.php");

$uid intval($mybb->input['uid']);

$query $db->query("
    SELECT p.tid, t.*
    FROM "
.TABLE_PREFIX."posts p
    LEFT JOIN "
.TABLE_PREFIX."threads t ON (p.tid=t.tid)
    WHERE p.visible != '0' AND t.visible != '0' AND p.uid = '
{$uid}'
    GROUP BY p.tid
    ORDER BY p.dateline DESC
    LIMIT 0,5
"
);

while(
$data $db->fetch_array($query)) {
    echo 
"<a href=\"showthread.php?tid={$data['tid']}\">".htmlspecialchars_uni($data['subject'])."</a><br />";
}
?>
Falls jemand die Zeit hat, müssten noch die Templates drum herum erstellt werden usw.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#5
Klasse, vielen Dank! Shy


Damit fange ich jetzt mal an und wenn ich das dann in ein Template integriert habe, poste ich es hier.
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#6
Hmm, doch nicht so einfach. Blush Habe den Code mal in ein separates php-File gepackt und versucht, das gleich mal in ein Template einzubauen. Es wurde aber kein Ergebnis ausgegeben.
Dann habe ich es einfach mal mit dem Echo (ohne Template) versucht, aber auch da erscheint keine Ausgabe.

Evtl. ein Tipp, woran es haken könnte?
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#7
Hast du die Benutzer-ID an die Datei übergeben (datei.php?uid=x)? Funktioniert es, wenn du den Code unverändert in die Datei übernimmst?

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#8
(24.08.2008, 22:40)Michael schrieb: Hast du die Benutzer-ID an die Datei übergeben (datei.php?uid=x)?

Blush das war's Blush

Im Prinzip funktioniert es jetzt soweit und mit dem Design werde ich mich noch ein wenig spielen. Möchte auch nicht ausschließen, ob nicht ggf. der ein oder andere User z.B. noch gerne die Info bzgl. des jeweiligen Themaerstellers hätte. Das habe ich mal probiert, aber noch nicht geschafft.

Aber 2 Fragen noch:

zum einen habe ich mal angehängt, wie mein aktuelles php-File aussieht. Wie gesagt, es funktioniert, aber ich bin mir nicht sicher, ob das auch der Weisheit letzter Schluss ist. Würde mich freuen, wenn Du da mal einen Blick drüber werfen könntest.

zum anderen noch was zu der MySQL-Abfrage:
mit dem Setzen von LIMIT stelle ich doch ein, wie viele Ergebnisse ich erhalten möchte!? Damit ich alle Ergebnisse erhalte dürfte ich doch dort gar kein LIMIT setzen, oder?
Des weiteren ein Problem, das ich schon mal hatte. Über die LIMIT Angabe wird z.B. in der search.php auch gleichzeitig die Multipage-Funktion eingebaut. Kann man das in diesem Thema auch irgendwie integrieren?
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#9
Der Code ist soweit in Ordnung, allerdings ist mir nicht ganz klar, warum du zwei while-Schleifen verwendest. Du kannst die Zeile mit eval() doch direkt in der ersten Schleife benutzen, dann musst du die Daten nicht erst in ein Array schreiben und dann nochmal durchlaufen.
(28.08.2008, 15:41)Jockl schrieb: mit dem Setzen von LIMIT stelle ich doch ein, wie viele Ergebnisse ich erhalten möchte!? Damit ich alle Ergebnisse erhalte dürfte ich doch dort gar kein LIMIT setzen, oder?
Das ist richtig. Das hatte ich nur eingefügt, weil ich das im Forum von MyBBoard.de getestet habe und da kommt einiges zusammen, wenn ich die Themen abfrage, in denen ich geschrieben habe. Wink

Die erste Zahl hinter LIMIT gibt den Starteintrag an. 0 ist der erste Eintrag. Wenn dort z.B. 50 ständ, würde MySQL die Treffer 1-50 nicht zurückgeben, da 50 ja der 51. Eintrag wäre. Der zweite Wert hinter Limit ist dann die Anzahl der Ergebisse. LIMIT 50,5 würde also die Ergebnisse 51-56 zurückgeben.
(28.08.2008, 15:41)Jockl schrieb: Des weiteren ein Problem, das ich schon mal hatte. Über die LIMIT Angabe wird z.B. in der search.php auch gleichzeitig die Multipage-Funktion eingebaut. Kann man das in diesem Thema auch irgendwie integrieren?
Das dürfte sich ähnlich wie in der search.php einbauen lassen. Über die Nummer der Seite und die Anzahl der Einträge pro Seite lässt sich der Startwert für LIMIT ermitteln und der zweite Wert ist dann die Anzahl der Einträge pro Seite.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#10
(28.08.2008, 16:56)Michael schrieb: Der Code ist soweit in Ordnung, allerdings ist mir nicht ganz klar, warum du zwei while-Schleifen verwendest. Du kannst die Zeile mit eval() doch direkt in der ersten Schleife benutzen, dann musst du die Daten nicht erst in ein Array schreiben und dann nochmal durchlaufen.
Und ich sach noch, dass es bestimmt nicht der Weisheit letzter Schluss ist. Blush
Habe es korrigert. Dankeschön! Rolleyes

(28.08.2008, 16:56)Michael schrieb: Das dürfte sich ähnlich wie in der search.php einbauen lassen. Über die Nummer der Seite und die Anzahl der Einträge pro Seite lässt sich der Startwert für LIMIT ermitteln und der zweite Wert ist dann die Anzahl der Einträge pro Seite.

Habe das mal probiert, komme aber leider nicht recht weit. Grund: wie erhalte ich bei folgendem Code über die weiter o.a. mysql-Abfrage die Anzahl an ausgegebenen Threads und damit Anzahl aller Seiten? Es muss ja dann auch eine mysql-Abfrage ohne LIMIT sein, oder?
PHP-Code:
$threadcount $db->fetch_field($query"?????");
        
$perpage $mybb->settings['threadsperpage'];
        
$page intval($mybb->input['page']);
        if(
$page)
        {
            
$start = ($page-1) *$perpage;
        }
        else
        {
            
$start 0;
            
$page 1;
        }
        
$end $start $perpage;
        
$lower $start+1;
        
$upper $end;
        if(
$upper $threadcount)
        {
            
$upper $threadcount;
        }
        
$multipage multipage($threadcount$perpage$page"search_own_posts_new?uid=($mybb->user['uid'])"); 
Die Fkt. fetch_field() habe ich bisher immer nur im Zusammenhang mit $db->simple_select gesehen.

Auch bei dem Link in der $multipage-Zeile bin ich mir nicht sicher, ob das so passt.
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Rückmeldung aller User Fey 4 2.387 08.04.2017, 11:10
Letzter Beitrag: Fey
  Bewertungsübersicht aller Forennutzer Reixsplash 9 3.367 04.10.2012, 19:04
Letzter Beitrag: Reixsplash