Hallo, Gast! (Registrieren)

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


Benutzer, die gerade dieses Thema anschauen: 4 Gast/Gäste
Szenentracker - keine Ausgabe
#21
Man könnte auch statt Juli -> Juno nehmen.
Mit freundlichen Grüßen

MrBrechreiz
Zitieren
#22
So, im erneuten Anlauf, habe ich es doch  geschafft, damit das alles korrekt angezeigt wird und ohne dass die Charakternamen zu Doppellungen führen  Shy

Code:
AND t.description LIKE '%. $monthName%'

Damit wird der Text in der Beschreibung nur als Monat identifiziert, wenn es so aussieht: ". Monat"

Bei mir im Testforum hat's jedenfalls geklappt, dass das Thema mit der Beschreibung "15. Januar 2016 | mit Julia, Maia und April" wirklich nur im Januar 2016 angezeigt wird  Wink
Zitieren
#23
Gerade eingebaut und getestet: Bei mir funktioniert es auch einwandfrei. Damit zum mindestens dritten Mal danke Big Grin
Zitieren
#24
Ok, ich hab noch eine Sache, die ich gerne angezeigt hätte und das ist die Option, ob der Thread als erledigt markiert wurde oder nicht. Ich hab es bisher so versucht:

Diese Zeile:
Code:
SELECT t.subject, t.description, t.tid, p.username, p.uid, p.pid, p.dateline
habe ich um ein t.threadsolved ergänzt.

In die while-Schleife habe ich nach
Code:
$szenen_desc = "<br /><span class=\"tdesc\">{$row['description']}</span>";
folgendes eingefügt:
Code:
if($thread['threadsolved'] == "1") {
        $threadsolved = "<img src=\"images/solved.png\" border=\"0\" alt=\"\" style=\"vertical-align: middle;\" />";
    }
Mit der Zeile wird ja auch im Plugin gearbeitet.

Leider hab ich mal wieder irgendwo einen Fehler drinnen, denn mir wird trotz vorhandener {$threadsolved}-Variable kein Haken angezeigt, obwohl ich sicher bin, dass es als erledigt markierte Szenen gibt und da entsprechend auch in der Datenbank eine 1 vermerkt ist.
Findet irgendjemand den Fehler und weiß, was ich anders machen muss? Smile
Zitieren
#25
Es muss so lauten:

PHP-Code:
if($row['threadsolved'] == "1") {
    
$threadsolved "<img src=\"images/solved.png\" border=\"0\" alt=\"\" style=\"vertical-align: middle;\" /> ";


Unterschied: $thread['threadsolved'] --> $row['threadsolved'] Wink
Zitieren
#26
Ich wusste, ich hab gestern was vergessen zu schreiben xD Das hab ich bereits ausprobiert, weil die anderen ja auch so angegeben sind, allerdings hab ich dann das Phänomen, dass alle meine Szenen als erledigt gekennzeichnet werden und nicht nur die, die es auch sind.

Aber ich hab gerade noch einmal rumprobiert und festgestellt, dass es einfach eine Zeile zu wenig war, die ich kopiert hatte Smile
Der komplette Code muss lauten:
Code:
$threadsolved = $threadsolved_button = "";
                if($row['threadsolved'] == "1") {
                $threadsolved = "<img src=\"images/solved.png\" border=\"0\" alt=\"\" style=\"vertical-align: middle;\" /> ";
                }
Zitieren
#27
Danke für die Ergänzung  Smile
Zitieren
#28
Und jetzt ich ;D 
Ich habe es eingebaut wie hier im Startpost. Allerdings habe ich in meinem Forum keine Themenbeschreibungen, sondern per xthreads drei Fehler erstellt, nämlich "Mitspieler", "Datum" und "Tageszeit". Diese frage ich durch mybb_threadfields_data.feldname ab. Wenn ich es so mache wie in Post #1, das heißt ich packe die Foren-IDs in ein Array, funktioniert alles. Möchte ich allerdings doch lieber, dass direkt in der Abfrage geprüft wird, in welchem Unterforum das Thema steckt, geht es schief (es erfolgt keine Ausgabe) - wieso? Eine Fehlermeldung bekomme ich nicht, die ID 17 stimmt ebenfalls. Sad

PHP-Code:
$monthOpen = array(
    
     
'Oktober' => 'Okt',
    'November' => 'Nov',
    'Dezember' => 'Dez',
    
    
);

foreach( 
$monthOpen as $monthName ) {

    $query "SELECT mybb_threads.subject, mybb_threads.tid, mybb_posts.username, mybb_posts.uid, mybb_threadfields_data.mitspieler, mybb_threadfields_data.datum, mybb_threadfields_data.tageszeit
        FROM mybb_threads
        INNER JOIN mybb_forums ON mybb_threads.fid = mybb_forums.fid AND mybb_forums.parentlist LIKE '17,%'
        INNER JOIN mybb_posts ON mybb_threads.tid = mybb_posts.tid
INNER JOIN mybb_threadfields_data ON mybb_threads.tid = mybb_threadfields_data.tid
        WHERE (mybb_posts.uid='"
.$memprofile['uid']."') AND mybb_threadfields_data.datum LIKE '%$monthName%'
        GROUP BY mybb_threads.subject, mybb_posts.username"
;
    
    $profilGrabbler
=$db->query($query);
    
    
while( $result=$db->fetch_array($profilGrabbler) ) {
        $threadtitelProfil $result['subject'];
        $threadidProfil $result['tid'];
        $mitspieler $result['mitspieler'];
        $datum $result['datum'];
        $tageszeit $result['tageszeit'];
        
        
eval("\$profil_ausgabe_$monthName.= \"".$templates->get("profil_ausgabe")."\";"); 
    
    
   
    


Ich bin mir fast sicher, einfach nur einen sehr dämlichen denkfehler gemacht zu haben.. hmm. Nur ich finde ihn nicht.
Zitieren
#29
Ich hab's auch mit xThreads-Feldern gemacht und so sieht die Abfrage aus:

PHP-Code:
$query $db->query("
    SELECT d.efday, d.efmonth, d.efyear, d.eftime, d.efchara, t.subject, t.tid, t.threadsolved, p.username, p.uid, p.pid, p.dateline
    FROM "
.TABLE_PREFIX."threadfields_data d
    INNER JOIN "
.TABLE_PREFIX."threads t ON t.tid=d.tid
    INNER JOIN "
.TABLE_PREFIX."forums f ON t.fid=f.fid AND f.parentlist LIKE '1%'
    INNER JOIN "
.TABLE_PREFIX."posts p ON t.tid=p.tid
    WHERE (p.uid='"
.$memprofile['uid']."') AND d.efmonth = '$monthName'
    GROUP BY t.subject, p.username
    ORDER BY d.efday ASC, p.dateline DESC
    "
); 
Zitieren
#30
Hmpf >_> ich habe nun einfach meinen gesamten Code mit deiner Lösung aus #16 ersetzt und die Abfrage von deinem letzten Post reingepackt und angepasst.

PHP-Code:
// START Szenen

$monthOpen = array(
'Oktober' => 'Okt',
'November' => 'Nov',
'Dezember' => 'Dez',
);

foreach(
$monthOpen as $monthName) {

$query $db->query("
    SELECT d.datum, d.tageszeit, d.mitspieler, t.subject, t.tid, p.username, p.uid, p.pid, p.dateline
    FROM "
.TABLE_PREFIX."threadfields_data d
    INNER JOIN "
.TABLE_PREFIX."threads t ON t.tid=d.tid
    INNER JOIN "
.TABLE_PREFIX."forums f ON t.fid=f.fid AND f.parentlist LIKE '17%'
    INNER JOIN "
.TABLE_PREFIX."posts p ON t.tid=p.tid
    WHERE (p.uid='"
.$memprofile['uid']."') AND d.datum LIKE '%$monthName%'
    GROUP BY t.subject, p.username
    ORDER BY d.datum ASC, p.dateline DESC
    "
); 

while(
$row $db->fetch_array($query)) {    
           
$userid $row['uid'];
           
$row['pid'] = $row['pid'];
           
$row['tid'] = $row['tid'];
           if(
my_strlen($row['subject']) > 25) {
               
$row['subject'] = my_substr($row['subject'], 050)."...";
           }
           
$szenen_lastpost my_date('relative'$row['dateline']);
           
$szenen_subject "<h1><a href=\"showthread.php?tid={$row['tid']}&pid={$row['pid']}#pid{$row['pid']}\">".htmlspecialchars_uni($row['subject'])."</a></h1>";
$szenen_desc "<br /><span class=\"tdesc\">{$row['mitspieler']} spielen {$row['tageszeit']} am {$row['datum']}.</span>";
           
           eval(
"\$memprofile_szenen_$monthName .= \"".$templates->get("member_profile_szenen_listbit")."\";");

       eval(
"\$memprofile_szenen = \"".$templates->get("member_profile_szenen")."\";");
       }
       if(!
$memprofile_szenen) {
           eval(
"\$memprofile_szenen = \"".$templates->get("member_profile_szenen_empty")."\";");
       }
}

// ENDE Szenen 

Das Ergebnis: Nichts, denn es passiert nichts. *seufz* Templates sind alle erstellt, Variablen eingefügt.. wie gesagt, die parent-ID ist DEFINITIV 17, Themen mit dem entsprechenden Datum sind vorhanden und die Felder heißen auch so - mit der Abfrage aus Post #1 hat es ja geklappt .. >_<
Zitieren