ich habe mir für unser Login-Panel eine Ausgabe zusammengebaut,
die die Anzahl der PM's jeweils im Postausgang, Posteingang und Archiv anzeigt. Leider stimmt diese nicht mit der regulären Anzahl überein, wenn ich über Nachrichten->Postausgang mir diese anzeigen lasse.
Meine Abfrage in der panel_login.php
<?php # Copyright by Manuel # Support www.ilch.de defined ('main') or die ( 'no direct access' ); global $ilchBB; // Farben & RangIcon $iconAdmin = 'Admin'; $iconCoAdmin = 'CoAdmin'; $iconSiteAdmin = 'SiteAdmin'; $iconLeader = 'Leader'; $iconCoLeader = 'CoLeader'; $iconMember = 'Member'; $iconTrialmember = 'Trialmember'; $iconSuperuser = 'SuperUser'; $iconUser = 'User'; $iconGast = 'Gast'; $tpl = new tpl ( 'user/panel_login.htm' ); if ( loggedin() ) { if ( user_has_admin_right($menu,false) ) { $tpl->set ( 'ADMIN', '<a class="box" href="admin.php?admin">'.$lang['adminarea'].'</a>' ); $tpl->set ( 'ADMIN2', '<a href="admin.php?admin"><img src="include/designs/ilch_gs_template119/images/loginpanel/admin2.png" title="Adminbereich"></a>' ); } else { $tpl->set ( 'ADMIN', '' ); $tpl->set ( 'ADMIN2', '' ); } if ( $allgAr['Fpmf'] == 1 ) { $erg = db_query("SELECT COUNT(id) FROM `prefix_pm` WHERE gelesen = 0 AND status < 1 AND eid = ".$_SESSION['authid']); $check_pm = db_result($erg,0); $nachrichten_link = '<a class="box" href="index.php?forum-privmsg">'.$lang['messages'].'</a> ('.$check_pm.')<br>'; } else { $nachrichten_link = ''; } $newTopicsCount = $ilchBB->getNewTopicsCount(); $abf = db_query('SELECT recht, avatar, cname FROM `prefix_user` WHERE id = "'.$_SESSION['authid'].'" '); $row = db_fetch_assoc($abf); $recht = $row['recht']; $avatar = $row['avatar']; $clan = ''; if (!empty($row['cname'])) { $clan = $row['cname']; } if ($recht == -9) {$rangIcon = $iconAdmin;} elseif ($recht == -8) {$rangIcon = $iconCoAdmin;} elseif ($recht == -7) {$rangIcon = $iconSiteAdmin;} elseif ($recht == -6) {$rangIcon = $iconLeader;} elseif ($recht == -5) {$rangIcon = $iconCoLeader;} elseif ($recht == -4) {$rangIcon = $iconMember;} elseif ($recht == -3) {$rangIcon = $iconTrialmember;} elseif ($recht == -2) {$rangIcon = $iconSuperuser;} elseif ($recht == -1) {$rangIcon = $iconUser;} else {$rangIcon = $iconGast;} $res = db_query('SELECT id, sid, eid, status, archiv FROM `prefix_pm` WHERE eid = '.$_SESSION['authid'].' OR sid = '.$_SESSION['authid']); $r = db_fetch_assoc($res); $anz_ges = 0; $anz_ib = 0; $anz_ob = 0; $anz_arch = 0; while ($r = db_fetch_assoc($res)) { if ($r['eid'] == $_SESSION['authid'] AND $r['status'] <= 0 AND $r['archiv'] % 2 == 0) { $anz_ib++; } if ($r['sid'] == $_SESSION['authid'] AND $r['status'] >= 0 AND $r['archiv'] < 2) { $anz_ob++; } if ($r['archiv'] != 0) { $anz_arch++; } $anz_ges++; } $tpl->set ( 'SID' , session_id() ); $tpl->set ( 'NACHRICHTEN' , $nachrichten_link ); $tpl->set ( 'MCOUNT' , $check_pm ); $tpl->set ( 'pnr' , $newTopicsCount ); $tpl->set ( 'NAME', $_SESSION['authname'] ); $tpl->set ( 'STATUS', $rangIcon ); $tpl->set ( 'NAME', $_SESSION['authname'] ); $tpl->set ( 'AVATAR', $avatar ); $tpl->set ( 'uid' , $_SESSION['authid'] ); $tpl->set ( 'CLAN' , $clan ); $tpl->set ( 'INBOX' , $anz_ib ); $tpl->set ( 'OUTBOX' , $anz_ob ); $tpl->set ( 'ARCHIV' , $anz_arch ); $tpl->set ( 'PM' , $anz_ges ); $tpl->out (0); } else { if (empty($_POST['login_name'])) { $_POST['login_name'] = 'Nickname'; } if (empty($_POST['login_pw'])) { $_POST['login_pw'] = 'ääääääää'; } $regist = ''; if ( $allgAr['forum_regist'] == 1 ) { $regist = ' <a href="index.php?user-regist">Regist</a>'; } $tpl->set_ar_out ( array ( 'regist' => $regist, 'wdlink' => '?'.$allgAr['smodul'], 'PASS' => $_POST['login_pw'], 'NAME' => $_POST['login_name'] ) , 1 ); } unset($tpl); ?>
Ich habe jetzt mal zum Testen alle Nachrichten in der DB gelöscht und eine neue an einen User geschickt. Ergebnis, es werden mir mit obiger Abfrage Null Nachrichten im Postausgang angezeigt (tatsächlich ist diese aber im Postausgang vorhanden).
Könnte mir bitte jemand bei dem Problem helfen?
Danke!
Zuletzt modifiziert von Outi77 am 25.10.2013 - 07:06:04