Neuste User nach geschlecht im Centerblock

Begonnen von Livestream, 07 Juni 2004, 18:50:20

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Livestream

Hi,

ich möchte gern die neusten User getrennt nach geschlecht im Centerbereich anzeigen lassen.

Dazu habe ich das Modul Newest-User genommen und entsprechend für die weiblichen/männlichen User angepasst.
Hier der Code.
Weibliche User
################# Einstell Variablen ##############
//// Anzahl der anzuzeigenden User
$ucount = 5;
//// Blockcache erlauben
$mxblockcache = TRUE;
###################################################

global $user_prefix;
$ucount = intval($ucount);
$qry="SELECT uname, user_sexus, user_regtime FROM ${user_prefix}_users WHERE user_stat=1 ORDER BY user_regtime DESC LIMIT ".$ucount.";";
$qry="SELECT uname, user_sexus, user_regtime FROM ${user_prefix}_users WHERE user_sexus=1 ORDER BY user_regtime DESC LIMIT ".$ucount.";";
$result = sql_query($qry);   # x neuste User ermitteln
while (list($uname, $user_regtime, $user_sexus) = sql_fetch_row($result)) {
   $lasts[] = '<img src="images/menu/rarrow.gif" width="14" height="9" alt="" border="0"> <a href="modules.php?name=Userinfo&uname='.$uname.'">'.$uname.'</a>';
   }

if (isset($lasts)) {
   $content = implode("<br>\n",$lasts);
   }

?>

Der Code für die männlichen:
if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");

################# Einstell Variablen ##############
//// Anzahl der anzuzeigenden User
$ucount = 5;
//// Blockcache erlauben
$mxblockcache = TRUE;
###################################################

global $user_prefix;
$ucount = intval($ucount);
$qry="SELECT uname, user_sexus, user_regtime FROM ${user_prefix}_users WHERE user_stat=1 ORDER BY user_regtime DESC LIMIT ".$ucount.";";
$qry="SELECT uname, user_sexus, user_regtime FROM ${user_prefix}_users WHERE user_sexus=2 ORDER BY user_regtime DESC LIMIT ".$ucount.";";
$result = sql_query($qry);   # x neuste User ermitteln
while (list($uname, $user_regtime, $user_sexus) = sql_fetch_row($result)) {
   $lasts[] = '<img src="images/menu/rarrow.gif" width="14" height="9" alt="" border="0"> <a href="modules.php?name=Userinfo&uname='.$uname.'">'.$uname.'</a>';
   }

if (isset($lasts)) {
   $content = implode("<br>\n",$lasts);
   }

?>

Wenn ich jetzt die beiden Blöche als Beispiel für den linken Bereich aktiviere, dann wird dieses auch getrennt nach geschlecht sauber angezeigt.

Um das ganze in den Centerbereich zu bekommen, habe ich hier im Forum einen Thread gefunden und den entsprechend umgesetzt.
Hier der Code:
<?php
include("blocks/block-Newest_Users_M.php");
$out1 = $content;
unset($content);
include("blocks/block-Newest_Users_W.php");
$out2 = $content;
$content = "<table><tr>
<td>".$out1."</td>
<td>".$out2."</td>
</tr></table>";
$blockfiletitele = "Der Titel für den Block";?>

Wenn ich nun den Block aktiviere dann habe ich folgendes Problem,
die männliche User werden zweimal angezeigt und die weiblichen User regulär nur einmal.
Als Beispiel wie es auf dem Monitor dargestellt wird.

Livestream               Peter
Peter                       Sweety
Livestream

Livestream und Peter sind männlich und Sweety ist weiblich.

Wie bekommen ich das Problem in den Griff, dass dieses sauber angezeigt wird.
Wie oben geschrieben, binde ich die beiden Blöcke ...._M und ..._W jeweils als einzelnen Block auf der linken Seite ein, dann wird alles richtig angezeigt.

Weiß jemand Rat wo der Fehler liegen könnte?

Viele Grüße
Peter

NeMeSiSX2LC

 Hier was zum Basteln :D  : Wobei da paar sachen drin sind die man eigentlich nicht mehr brauchtund ein paar die bei dir wohl nicht gehen ;) .################# Einstell Variablen ############################################################################
$onlinelistsize  = 5;    # Hoehe des Selectfeld der Onlinuser (Online-Liste)
$showuserlistall = 1;     # Wenn Online-Liste immer erscheinen soll, 1=Ja, 0=nein
$showbuddy       = 0;   # Buddylink (Messenger) anzeigen , 1=Ja, 0=nein
# User, die nicht angezeigt werden sollen
# Namen mit Komma trennen!
$excludedusers ="Texsterdsgf, Knaxllerfgfd";
##################################################################################################################
$imagedir="images/maaxon";
$pm_module_name = "Private_Messages";
##################################################################################################################
#$checkpmtime=200000; # Intervall zum private Nachrichten abfragen, 0 wenn nicht abgefragt werden soll

if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");

$mxblockcache = FALSE;

global $prefix, $user_prefix, $bgcolor1, $bgcolor2, $bgcolor3, $txtcolor1, $txtcolor2;

if(@file_exists("language/maaXoN/maaXoN-".$GLOBALS['currentlang'].".php")) {
include_once("language/maaXoN/maaXoN-".$GLOBALS['currentlang'].".php");
}
else {
include_once("language/maaXoN/maaXoN-english.php");
}
# Variablen initialisieren
if(substr(strtolower($GLOBALS['currentlang']), 0, 6) == "german"){ # Bilder fuer Buttons definieren (noch keine Bilder vorhanden!!)
$pmimagepath="modules/$pm_module_name/images/buttons/german";
}
else{
$pmimagepath="modules/$pm_module_name/images/buttons/english";
}

# Variablen initialisieren
$isseruser = 0;
$username = "";
if (mxIsUser()){
$isseruser = 1;
$cookie=mxGetUserSession();
$username = $cookie[1];
$uid = $cookie[0];
}

$isseradmin = mxIsAdmin();
# SQL-bedingung fuer excluded Users erstellen
$exusers = explode (",", $excludedusers);
if(!$isseradmin){
while (list($key, $val) = each($exusers)) {      
$xexusers[]=trim($val);
}
}
$xexusers[] = $GLOBALS['anonymous'];
$excludedusers = "'".implode("','",$xexusers)."'";

# Anzahl aller User und hoechste uid ermitteln
$totalmembers=0;
$qry="select COUNT(uid), MAX(uid) from ${user_prefix}_users where user_stat=1;";
list($totalmembers, $lastuid) = sql_fetch_row(sql_query($qry));

# Alle User ermitteln, evtl auflisten
$member_online_num = 0;
$smallunmae = strtolower($username);
$heute = mktime(0, 0, 0, date ("m") , date ("d"), date("Y"));

$result = sql_query("SELECT uname, user_sexus, user_photo, (YEAR( CURRENT_DATE ) - YEAR( user_bday )) -
( RIGHT( CURRENT_DATE, 5 ) < RIGHT( user_bday, 5 ) ) AS user_age FROM ${user_prefix}_users
WHERE user_regtime >= $heute and user_stat=1 ORDER BY user_regtime DESC LIMIT 20");
#$GLOBALS["mxSqlDebug"]      = 0;
while (list($uname2, $user_sexus, $user_photo, $user_age) = sql_fetch_array($result)) {

$check = date('Y');

if ($user_sexus==1) {
   
$sel = (strtolower($uname2) == $smallunmae) ? " selected " : "";
$uname3 = mxCutString($uname2, 10, "..", ""); # Kurzen Usernamen erstellen
$lasts[] = '<img src="images/menu/rarrow2.gif" alt="" border="0"> <a href="modules.php?name=Userinfo&uname='.$uname3.'"><b>'.$user_age.'</b>.'.$uname3.'</a>';
}
if ($user_sexus==2){

$sel1 = (strtolower($uname2) == $smallunmae) ? " selected " : "";
$uname3 = mxCutString($uname2, 10, "..", ""); # Kurzen Usernamen erstellen
$lasts1[] = '<img src="images/menu/rarrow2.gif" alt="" border="0"> <a href="modules.php?name=Userinfo&uname='.$uname3.'"><b>'.$user_age.'</b>.'.$uname3.'</a>';
}

if ($user_sexus==1 && $user_photo==1){

$sel1 = (strtolower($uname2) == $smallunmae) ? " selected " : "";
$uname3 = mxCutString($uname2, 10, "..", ""); # Kurzen Usernamen erstellen
$lasts2[] = '<img src="images/menu/rarrow2.gif" alt="" border="0"> <a href="modules.php?name=Userinfo&uname='.$uname3.'"><b>'.$user_age.'</b>.'.$uname3.'</a>';
}
if ($user_sexus==2 && $user_photo==1){

$sel1 = (strtolower($uname2) == $smallunmae) ? " selected " : "";
$uname3 = mxCutString($uname2, 10, "..", ""); # Kurzen Usernamen erstellen
$lasts3[] = '<img src="images/menu/rarrow2.gif" alt="" border="0"> <a href="modules.php?name=Userinfo&uname='.$uname3.'"><b>'.$user_age.'</b>.'.$uname3.'</a>';
}
}

# Heute neu angemeldete User ermitteln
$qry = "SELECT COUNT(uid) from ${user_prefix}_users WHERE user_regtime >= $heute and user_stat=1 and user_sexus=1 and uname not in($excludedusers);";
list($userCount) = sql_fetch_row(sql_query($qry));

$qry1 = "SELECT COUNT(uid) from ${user_prefix}_users WHERE user_regtime >= $heute and user_stat=1 and user_sexus=2 and uname not in($excludedusers);";
list($userCount1) = sql_fetch_row(sql_query($qry1));


# Ausgabe ...................................
$content = "<div class=\"boxcontent\" align=\"center\">";
$content .= "<table width='100%'  border='0' cellspacing='0' cellpadding='0'>
  <tr>
    <td><table width='100%'  border='0' cellspacing='0' cellpadding='0'>
      <tr>
        <td width=\"50%\" align=\"center\"><p><b>Neuzugänge:</b></p></td>
        <td width=\"50%\" align=\"center\"><p><b>Neuzugänge (mit Bild freigabe):</b></p></td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td>
<table width='100%'  border='0' cellspacing='0' cellpadding='0'>
  <tr>
    <td align='left' class=\"boxcontent\" width='25%'><img src=\"images/f.gif\" width=\"19\" height=\"19\" border=\"0\" align=\"absmiddle\"> Frauen (<b>$userCount</b>):</td>
    <td align='left' class=\"boxcontent\" width='25%'><img src=\"images/m.gif\" width=\"19\" height=\"19\" border=\"0\" align=\"absmiddle\"> Männer (<b>$userCount1</b>):</td>
    <td align='left' class=\"boxcontent\" width=\"25%\"><img src=\"images/f.gif\" width=\"19\" height=\"19\" border=\"0\" align=\"absmiddle\"> Frauen:</td>
<td align='left' class=\"boxcontent\" width=\"25%\"><img src=\"images/m.gif\" width=\"19\" height=\"19\" border=\"0\" align=\"absmiddle\"> Männer:</td>
  </tr>
  <tr>";
    $content .= "<td style='height: 100px;'><div align='left' style='height: 100px; overflow : auto;'>";
if (isset($lasts)) {
$content .= implode("\n",$lasts);
}
$content .= "</div><div align='center'><a href=\"modules.php?name=WorM&letter=All&sortby=uname&g=1\"><b>mehr...</b></a></div></td>";
    $content .= "<td style='height: 100px;'><div align='left' style='height: 100px; overflow : auto;'>";
if (isset($lasts1)) {
$content .= implode("\n",$lasts1);
}
$content .= "</div><div align='center'><a href=\"modules.php?name=WorM&letter=All&sortby=uname&g=2\"><b>mehr...</b></a></div></td>";
    $content .= "<td style='height: 100px;'><div align='left' style='height: 100px; overflow : auto;'>";
if (isset($lasts2)) {
$content .= implode("\n",$lasts2);
}
$content .= "</div><div align='center'><a href=\"modules.php?name=WorM&letter=All&sortby=uname&g=1&p=1\"><b>mehr...</b></a></div></td>";
    $content .= "<td style='height: 100px;'><div align='left' style='height: 100px; overflow : auto;'>";
if (isset($lasts3)) {
$content .= implode("\n",$lasts3);
}
$content .= "</div><div align='center'><a href=\"modules.php?name=WorM&letter=All&sortby=uname&g=2&p=1\"><b>mehr...</b></a></div></td>
  </tr>
</table></td>
  </tr>
</table></div>\n";

$blockheigth = 80;

 

[Editiert am 7/6/2004 von NeMeSiSX2LC]
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

Sascha1981

Mal ne kurze frage!
Was hat diese fehler medlung zu bedeuten???

Parse error: parse error, unexpected T_STRING in c:\appserv\www\pf\blocks\block-test.php on line 125

NeMeSiSX2LC

na sascha kennst das spiel doch :D  was steht in der zeile :quest  ;)  :wall:
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

Sascha1981

Hat sich erledigt! :D  

[Editiert am 7/6/2004 von Sascha1981]

Livestream

Hi NeMeSiSX2LC,

wow und super. das hat geklappt. ein paar kleine änderungen
und es läuft.

Dickes Danke an Dich.

Doch eine Frage hab ich noch.
Wie bekomme ich es hin, dass auch die Angezeigt werden, die ein Bild haben? Denn "user_photo" musste ich rausnehmen, da sonst eine sql error Meldung kam.
Ich benutze das User-Fotoalbum von hier aus dem Download. Oder muss ich da mit dem Avatar was machen "Seh wahrscheinlich gerade den Wald nicht vor lauter Bäumen"?

Nochmal Danke für Deine superschnelle Hilfe.

Viele Grüße
Peter

Sascha1981

Hey!!!

Ich komme mit diesem parameter nicht ganz klar $uname2 bzw. $uname3

Aus welcher tabelle werde die abgefragt?
Müßte das in meinem fall nicht nur $uname heißen???

NeMeSiSX2LC

Nö schau dir doch mal denn who is online block an da steht das genauso ;)

Wo die erstellt werden???

  while (list($uname2, $user_sexus, $user_photo, $user_age) = sql_fetch_array($result)) {

$check = date('Y');

if ($user_sexus==1) {
   
    $sel = (strtolower($uname2) == $smallunmae) ? " selected " : "";
    $uname3 = mxCutString($uname2, 10, "..", "");

@Livestream: Wie das jetzt genau beim Album Module aussehen muss weis ich nicht.
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1