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
#11
Die Anzahl der Ergebnisse kannst du über einen zweiten Query ermitteln lassen.
PHP-Code:
$query2 $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
"
);

$numthreads $db->num_rows($query2); 

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
#12
Den Query hatte ich schon, nur die "num_rows" waren mir nicht bekannt. Vielen Dank für den Hinweis!!! Wink

Die Seite und die Templates sind fertig und es klappt alles. Die Themen und die jeweiligen Verfasser werden ausgegeben. Jetzt bleibt nur noch zu hoffen, dass die User damit zufrieden sind. Wink
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#13
Hallo zusammen,

die Abfrage funktioniert wunderbar auch bei mir, daher schon mal vielen Dank dafür.

Nun wollte ich das ganze aber in eine COUNT -Abfrage umwandeln, um die Themenanzahl auszugeben, allerdings hab ich wohl irgendwas falsch gemacht, da die Anzahl nicht stimmt.

Wenn ich die o.g. Abfrage
PHP-Code:
<?php
             $rpgquery 
$db->query("
    SELECT p.tid, t.*
    FROM "
.TABLE_PREFIX."posts p
    LEFT JOIN "
.TABLE_PREFIX."threads t ON (p.tid=t.tid)
LEFT JOIN "
.TABLE_PREFIX."forums f ON (f.fid=t.fid)
    WHERE p.visible != '0' AND t.visible != '0' AND p.uid = '
{$memprofile['uid']}' AND f.parentlist LIKE '17,23,%' and t.sticky !='1'
    GROUP BY p.tid
      
"
);

while(
$data $db->fetch_array($rpgquery)) {
    echo 
"<a href=\"showthread.php?tid={$data['tid']}\">".htmlspecialchars_uni($data['subject'])."</a><br />";
}
?>


 einfüge, liest er mir alle 10 Themen aus, die auch infrage kommen.

Ändere ich die Abfrage in 

PHP-Code:
$rpgquery "SELECT COUNT(*) as counttopics
    FROM "
.TABLE_PREFIX."posts p
    LEFT JOIN "
.TABLE_PREFIX."threads t ON (p.tid=t.tid)
LEFT JOIN "
.TABLE_PREFIX."forums f ON (t.fid=f.fid)
    WHERE p.visible != '0' AND t.visible != '0' AND p.uid = '
{$memprofile['uid']}' AND f.parentlist LIKE '17,23,%' and t.sticky !='1'
GROUP BY p.tid"
;

$rpgnum $db->fetch_field($db->query($rpgquery), "counttopics"); 

Stimmt die Anzahl nicht, es wird nämlich 9 ausgegeben.

Ich hab schon diverse parentlist Kombinationen versucht, um dem Unterforum auf den Grund zu gehen, wo es nicht passt, bin aber gescheitert. Daher vermute ich, dass etwas an der Abfrage an sich nicht stimmt.

Könnte mir jemand einen Tipp geben, wo etwas fehlt oder falsch ist?
Zitieren
#14
Die Abfrage sollte korrekt sein. Der Fehler liegt wahrscheinlich woanders.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#15
Ich hab es jetzt anders gelöst, weniger elegant, aber es funktioniert. Smile

Zitat:<?php
 $rpgquery = $db->query("SELECT * FROM ".TABLE_PREFIX."posts p
    LEFT JOIN ".TABLE_PREFIX."threads t ON (p.tid=t.tid)
LEFT JOIN ".TABLE_PREFIX."forums f ON (f.fid=t.fid)
    WHERE p.visible = '1' AND t.visible = '1' AND p.uid = '{$memprofile['uid']}' AND f.parentlist LIKE '17,23,%' and t.sticky !='1' AND t.closed !='1'
    GROUP BY p.tid");
$rpgnum = $db->num_rows($rpgquery);
?>
Zitieren


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