Seite 1 von 1
Bastelei an der memberlist...
Verfasst: Di 21.Mär, 2006 23:42
von schmidtedv
Ich hätte ne bitte, da ich mich wieder zu wenig auskenne. Ich möchte die Farbcodierung für mods und admins auf inaktive erweitern...ist mir im folgenden code aber nur gelungen die zahl einzubauen...ich wußt einfach nicht, wie ich's mit der farbe richtig zusammensetze....bitte ändern :-)
Code: Alles auswählen
if ($userdata['user_level'] == ADMIN )
{
$user_active = $row['user_active'];
$user_style = ( $user_level == ADMIN ) ? '<span style="color: #' . $theme['fontcolor3'] . '">' : ( ( $user_level == MOD ) ? '<span style="color: #' . $theme['fontcolor2'] . '">' : '<span>' );
$username = $user_style.$row['username'].' ['. $user_active .']</span>';
}
else
{
$user_style = ( $user_level == ADMIN ) ? '<span style="color: #' . $theme['fontcolor3'] . '">' : ( ( $user_level == MOD ) ? '<span style="color: #' . $theme['fontcolor2'] . '">' : '<span>' );
$username = $user_style.$row['username'].'</span>';
}
Verfasst: Mi 22.Mär, 2006 07:49
von oxpus
Welche Farbe soll denn da rein?
Für HTML-Farben schau mal hier rein:
http://www.oxpus.de/viewtopic.php?p=47784#47784
Verfasst: Mi 22.Mär, 2006 11:32
von schmidtedv
Die Farbe an sich ist doch wurscht, die bastel ich mir zurecht (also ehrlich)...
Was ich möchte ist NICHT das da das von mir gebastelte 0 bzw. 1 erscheint ( das war nur ein mir mögliches Beispiel) sondern stattdessen
$user_style = ( $user_level == ADMIN ) ? '<span style="color: #' . $theme['fontcolor3'] . '">' : ( ( $user_level == MOD ) ? '<span style="color: #' . $theme['fontcolor2'] . '">' : '<span>' );
so erweitert wird, das ich den user_active-Part da auch noch mit reinkriege. Welche Farbe kann ich mir ja dann selber zurechtbauen, aber wenn ich einfach nochn Part da miteinsetze so wie ich es verstehe, dann klappt das nicht da es sich mit dem : wohl nur um eine entweder-oder-ZTeile handelt, oder? Ich brauche ja 3 Farboptionen insgesamt....wenn du verstehst, was ich meine...
Verfasst: Mi 22.Mär, 2006 15:27
von oxpus
Warum nicht da drum herum die Bedingung
Code: Alles auswählen
if ($userdata['user_active'])
{
// Part 1 = User ist aktiv
}
else
{
// Part 2 = User ist nicht aktiv
}
bauen?
Verfasst: Mi 22.Mär, 2006 21:45
von schmidtedv
? ich möchte doch farbe und keine zahlen....oder wie meinst du das jetzt?
BTW Kann ich mit der Meldung in phpMyAdmin leben die da sagt:
Es sollte nicht mehr als ein Index des Typs INDEX für die Spalte `attach_id` gesetzt sein
Die Index-Typen INDEX und PRIMARY sollten nicht gleichzeitig für die Spalte `session_id` gesetzt sein
...?
Verfasst: Mi 22.Mär, 2006 23:13
von oxpus
Also nochmal:
Im Original werden die Usernamen eingefärbt und Du hattest diesen Code-Block ja bereits gepostet.
Was Du doch nun willst, ist die Farben zu ändern, wenn der User nicht aktiv ist.
Und dazu habe ich ja meine Bedingung im letzten Post geschrieben, in die Du in beiden Parts den Original-Code-Block für die Färbung einfügst, aber im 2. Part dann die Farbcodes ersetzen kannst.
Ist das so schwer zu verstehen oder denke ich zu kompliziert?
Verfasst: Do 23.Mär, 2006 09:45
von schmidtedv
nicht schwer zu verstehen, aber wie ich es mache ist mir nicht klar....mein Gedankengang (ohne deine Schleife) war folgender:
Oben hab' ich drin:
Code: Alles auswählen
if ($userdata['user_level'] == ADMIN )
{
$sql = "SELECT username, user_id, user_active, user_level, user_viewemail, user_posts, user_regdate, user_from, user_website, user_email
FROM " . USERS_TABLE . "
WHERE user_id <> " . ANONYMOUS . "
ORDER BY $order_by";
}
else
{
$sql = "SELECT username, user_id, user_level, user_viewemail, user_posts, user_regdate, user_from, user_website, user_email
FROM " . USERS_TABLE . "
WHERE (user_id <> " . ANONYMOUS . ") AND (user_active <> 0)
ORDER BY $order_by";
}
und unten hatte ich versucht mit:
Code: Alles auswählen
if ($userdata['user_level'] == ADMIN )
{
$user_active = $row['user_active'];
$user_style = ( $user_level == ADMIN ) ? '<span style="color: #' . $theme['fontcolor3'] . '">' : ( $user_active == 0 ) ? '<span style="color: #FF0000">' : ( ( $user_level == MOD ) ? '<span style="color: #' . $theme['fontcolor2'] . '">' : '<span>' );
$username = $user_style.$row['username'].'</span>';
}
else
{
$user_style = ( $user_level == ADMIN ) ? '<span style="color: #' . $theme['fontcolor3'] . '">' : ( ( $user_level == MOD ) ? '<span style="color: #' . $theme['fontcolor2'] . '">' : '<span>' );
$username = $user_style.$row['username'].'</span>';
}
aber so ing es halt nicht und da war meine Frage nach der korrekten Umsetzung...du siehst, deine Schleife brauche ich gar nicht, sondern Hilfe bei meinem Fehler in der obigen Umsetzung :-)
Aber nun mal anders probiert....ginge diese Lösung ok, oder krieg ich mit der Probleme:
Code: Alles auswählen
if ( $row = $db->sql_fetchrow($result) )
{
$i = 0;
do
{
$user_level = $row['user_level'];
if ($userdata['user_level'] == ADMIN )
{
$user_active = $row['user_active'];
$user_style = ( $user_level == ADMIN ) ? '<span style="color: #' . $theme['fontcolor3'] . '">' : ( ( $user_level == MOD ) ? '<span style="color: #' . $theme['fontcolor2'] . '">' : '<span>' );
$username = $user_style.$row['username'].'</span>';
if ( $user_active == 0 )
{
$username = '<span style="color: #DEDACF">' . $row['username']. '</span>';
}
}
else
{
$user_style = ( $user_level == ADMIN ) ? '<span style="color: #' . $theme['fontcolor3'] . '">' : ( ( $user_level == MOD ) ? '<span style="color: #' . $theme['fontcolor2'] . '">' : '<span>' );
$username = $user_style.$row['username'].'</span>';
}
Verfasst: Do 23.Mär, 2006 10:05
von oxpus
Die Abfrage ist schon einmal okay.
Nun kommt aber dann der eigentliche Part:
Code: Alles auswählen
if ( $row = $db->sql_fetchrow($result) )
{
$i = 0;
do
{
if ($userdata['user_level'] == ADMIN )
{
if (!$row['user_active'])
{
$user_style_color = 'DEDACF';
}
else
{
switch ($row['user_level'])
{
case ADMIN:
$user_style_color = $theme['fontcolor3'];
break;
case MOD:
$user_style_color = $theme['fontcolor2'];
break;
default:
$user_style_color = '';
}
}
$username = ($user_style_color) ? '<span style="color: #' . $user_style_color . '">'.$row['username'].'</span>' : $row['username'];
}
else
{
switch ($row['user_level'])
{
case ADMIN:
$user_style_color = $theme['fontcolor3'];
break;
case MOD:
$user_style_color = $theme['fontcolor2'];
break;
default:
$user_style_color = '';
}
$username = ($user_style_color) ? '<span style="color: #' . $user_style_color . '">'.$row['username'].'</span>' : $row['username'];
}
Verfasst: Do 23.Mär, 2006 11:35
von schmidtedv
bis auf das fehlende ' zwischen color . '">.$row['username'
also ">'.$ ....danke :-)
Verfasst: Do 23.Mär, 2006 12:07
von oxpus
Okay, hab's geändert

Verfasst: Do 23.Mär, 2006 14:53
von schmidtedv
:-)