01.02.2007, 15:25
01.02.2007, 15:38
Da du schon andere Dinge über den Benutzer anzeigen lässt, sollte die ID des Benutzers ja bereits in einer Variable stecken. Oder hast du das noch gar nicht? Welcher Benutzer soll den angezeigt werden?
01.02.2007, 15:55
Also bei mir im Quelltext der portal.php sieht es im Moment so aus. Ich wollte ja die 5 neuesten Mitglieder anzeigen lassen. Zudem wollte ich dann wenn man mit der Maus über den Link fährt, dass ein Tooltip zum User aufgeht.
Nun wollte ich ja erst versuchen die ganzen Daten ohne Tooltip anzeigen zu lassen. Der Username und die Beitragsanzahl funktionieren bereits. Beim Rest liegt halt das Problem.
Also wir sind ja jetzt gerade beim Geschlecht. Nur weiß ich jetzt nicht wie ich die ID des Users angeben soll. Kann ich da etwas vom vorigen Teil verwenden, oder wie mache ich das am Besten?
Nun wollte ich ja erst versuchen die ganzen Daten ohne Tooltip anzeigen zu lassen. Der Username und die Beitragsanzahl funktionieren bereits. Beim Rest liegt halt das Problem.
PHP-Code:
$newmember = "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n";
$query = $db->query("SELECT username, uid, avatar, postnum FROM ".TABLE_PREFIX."users ORDER BY regdate DESC LIMIT 0,5");
while ($user = $db->fetch_array($query))
{
$newmember .= "<tr><td><a href=\"member.php?action=profile&uid=".$user['uid']."\">".$user['username']."</a> (".$user['postnum'].")<br /><br /></td></tr>\n";
$newmember .= "<tr><td><img src=\"".$user['avatar']."\" border=0 width=0 height=0><br /></td></tr>\n";
}
$newmember .= "</table>\n";
$query = $db->query("SELECT fid3 FROM ".TABLE_PREFIX."userfields WHERE ufid = '".BENUTZER_ID."'");
$geschlecht = $db->fetch_array($query);
$benutzergeschlecht = $geschlecht['fid3'];
01.02.2007, 16:01
Versuchs mal so:
PHP-Code:
$newmember = "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n";
$query = $db->query("SELECT username, uid, avatar, postnum FROM ".TABLE_PREFIX."users ORDER BY regdate DESC LIMIT 0,5");
while ($user = $db->fetch_array($query)) {
$query2 = $db->query("SELECT fid3 FROM ".TABLE_PREFIX."userfields WHERE ufid = '".$user['uid']."'");
$geschlecht = $db->fetch_array($query2);
$newmember .= "<tr><td><a href=\"member.php?action=profile&uid=".$user['uid']."\">".$user['username']."</a> (".$geschlecht['fid3'].") (".$user['postnum'].")<br /><br /></td></tr>\n";
$newmember .= "<tr><td><img src=\"".$user['avatar']."\" border=0 width=0 height=0><br /></td></tr>\n";
}
$newmember .= "</table>\n";
01.02.2007, 17:09
Wow das hat super geklappt. Ich konnte nun auch noch andere Einstellung hinzufügen. Nun wollte ich diesen Tooltip dort einbauen, und dann fiel mir auf, dass ich ein Problem damit habe, dass es nicht in php, sondern in Java-Script und HTML geschrieben ist. Und nun stehe ich vor der fast letzten großen Hürde. Wie kann man diese beiden Sprachelemente noch mit einbauen?
Das Beispiel-Skript sieht so aus:
Das Beispiel-Skript sieht so aus:
PHP-Code:
/* Hier beginnt das Skript für den Tooltip für die neuen User */
$query = $db->query("SELECT username, uid, avatar, postnum, usergroup FROM ".TABLE_PREFIX."users ORDER BY regdate DESC LIMIT 0,5");
while ($user = $db->fetch_array($query))
{
$query2 = $db->query("SELECT fid3 FROM ".TABLE_PREFIX."userfields WHERE ufid = '".$user['uid']."'");
$geschlecht = $db->fetch_array($query2);
$query3 = $db->query("SELECT title, gid FROM ".TABLE_PREFIX."usergroups WHERE gid = '".$user['usergroup']."'");
$usergruppe = $db->fetch_array($query3);
<style type="text/css">
.tooltip {
position: absolute;
display: none;
border-width: 1px;
border-style: solid;
border-color: #ccc;
-moz-opacity: 0.9;
filter: alpha(Opacity=90);
}
.tooltip .ueberschrift {
FONT: 16px , verdana, arial, helvetica, sans-serif;
font-weight: bold;
color: #666666;
}
.tooltip .content td {
color: #666666;
FONT: 11px , verdana, arial, helvetica, sans-serif;
}
</style>
<script>
<!--
wmtt = null;
document.onmousemove = updateWMTT;
function updateWMTT(e) {
x = (document.all) ? window.event.x + document.body.scrollLeft : e.pageX;
y = (document.all) ? window.event.y + document.body.scrollTop : e.pageY;
if (wmtt != null) {
wmtt.style.left = (x + 20) + "px";
wmtt.style.top = (y + 20) + "px";
}
}
function showWMTT(id) {
wmtt = document.getElementById(id);
wmtt.style.display = "block"
}
function hideWMTT() {
wmtt.style.display = "none";
}
//-->
</script>
<div class="tooltip" id="1">
<table border=0 width=250 height=140 background="bg.png"><tr>
<td height=15 colspan=2><div class="ueberschrift"><img src=\"images/".$geschlecht['fid3'].".gif\" border=0> ".$user['username']."</div></td></tr>
</tr><tr>
<td colspan=2 height=1><hr></td>
</tr><tr>
<td width=50% valign=top><div class="content">
<table><tr>
<td width=50%>Beiträge: </td><td align=right>".$user['postnum']."</td>
</tr><tr>
<td width=50%>Gruppe:</td><td align=right>".$usergruppe['title']."</td>
</tr><tr>
<td colspan=2 height=10></td>
</tr></table>
</div></td>
<td valign="top"><img src=\"".$user['avatar']."\"></td>
</tr></table>
</div>
/* Hier endet das Skript */
01.02.2007, 17:39
Wo genau steht dieser Code jetzt drin? In der portal.php?
01.02.2007, 17:46
Der Code steht so noch nicht in der portal.php, da er noch nicht ganz korrekt ist. Ich hoffe, dass mir jemand helfen kann, diesen auszubessern.
01.02.2007, 18:19
Diesen Teil kannst du ins Template headerinclude einfügen bzw. ins Template portal, je nachdem wo du ihn benötigst:
Es wäre auch möglich den CSS-Code in die Box für zusätzliches CSS in den Einstellungen des Themes einzufügen, da kannst du entscheiden was dir lieber ist.
Den HTML-Code musst du im Template unterbringen, über das die Ausgabe erfolgen soll.
Code:
<style type="text/css">
.tooltip {
position: absolute;
display: none;
border-width: 1px;
border-style: solid;
border-color: #ccc;
-moz-opacity: 0.9;
filter: alpha(Opacity=90);
}
.tooltip .ueberschrift {
FONT: 16px , verdana, arial, helvetica, sans-serif;
font-weight: bold;
color: #666666;
}
.tooltip .content td {
color: #666666;
FONT: 11px , verdana, arial, helvetica, sans-serif;
}
</style>
<script>
<!--
wmtt = null;
document.onmousemove = updateWMTT;
function updateWMTT(e) {
x = (document.all) ? window.event.x + document.body.scrollLeft : e.pageX;
y = (document.all) ? window.event.y + document.body.scrollTop : e.pageY;
if (wmtt != null) {
wmtt.style.left = (x + 20) + "px";
wmtt.style.top = (y + 20) + "px";
}
}
function showWMTT(id) {
wmtt = document.getElementById(id);
wmtt.style.display = "block"
}
function hideWMTT() {
wmtt.style.display = "none";
}
//-->
</script>
Den HTML-Code musst du im Template unterbringen, über das die Ausgabe erfolgen soll.
01.02.2007, 21:17
Ich habe es mal so versucht, aber es hat sich nichts getan
Ich habe auch mal folgendes Skript ausprobiert:
Leider hat sich auch hier nicht viel getan. Allerdings kam keine Fehlermeldung, wie zuvor, und da habe ich mal die Hoffnung gehabt, ob sich dieses Skript noch etwas anpassen lässt, damit es dann funktioniert. Könnte sich das jemand mal angucken?
Ich habe auch mal folgendes Skript ausprobiert:
PHP-Code:
$newmember = "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n";
$query = $db->query("SELECT username, uid, avatar, postnum, usergroup FROM ".TABLE_PREFIX."users ORDER BY regdate DESC LIMIT 0,5");
while ($user = $db->fetch_array($query))
{
$query2 = $db->query("SELECT fid3 FROM ".TABLE_PREFIX."userfields WHERE ufid = '".$user['uid']."'");
$geschlecht = $db->fetch_array($query2);
$query3 = $db->query("SELECT title, gid FROM ".TABLE_PREFIX."usergroups WHERE gid = '".$user['usergroup']."'");
$usergruppe = $db->fetch_array($query3);
$newmember .= "<tr><td><a href=\"member.php?action=profile&uid=".$user['uid']."\" onMouseOver=\"showWMTT('1')\" onMouseOut=\"hideWMTT()\"><img src=\"images/".$geschlecht['fid3'].".gif\" border=0> ".$user['username']."</a> (".$user['postnum'].")<br /><br /></td></tr>\n";
$newmember .= "<tr><td><img src=\"".$user['avatar']."\" border=0 width=0 height=0><br /></td></tr>\n";
}
$newmember .= "</table>\n";
echo;"
<html>
<head>
<style type=\"text/css\">
.tooltip {
position: absolute;
display: none;
border-width: 1px;
border-style: solid;
border-color: #ccc;
-moz-opacity: 0.9;
filter: alpha(Opacity=90);
}
.tooltip .ueberschrift {
FONT: 16px , verdana, arial, helvetica, sans-serif;
font-weight: bold;
color: #666666;
}
.tooltip .content td {
color: #666666;
FONT: 11px , verdana, arial, helvetica, sans-serif;
}
</style>
<script>
<!--
wmtt = null;
document.onmousemove = updateWMTT;
function updateWMTT(e) {
x = (document.all) ? window.event.x + document.body.scrollLeft : e.pageX;
y = (document.all) ? window.event.y + document.body.scrollTop : e.pageY;
if (wmtt != null) {
wmtt.style.left = (x + 20) + \"px\";
wmtt.style.top = (y + 20) + \"px\";
}
}
function showWMTT(id) {
wmtt = document.getElementById(id);
wmtt.style.display = \"block\"
}
function hideWMTT() {
wmtt.style.display = \"none\";
}
//-->
</script>
</head>
<body>
<div class=\"tooltip\" id=\"1\">
<table border=0 width=250 height=140 background=\"bg.png\"><tr>
<td height=15 colspan=2><div class=\"ueberschrift\"><img src=\"images".$geschlecht['fid3'].".gif\" border=0> ".$user['username']."</div></td></tr>
</tr><tr>
<td colspan=2 height=1><hr></td>
</tr><tr>
<td width=50% valign=top><div class=\"content\">
<table><tr>
<td width=50%>Beiträge: </td><td align=right>".$user['postnum']."</td>
</tr><tr>
<td width=50%>Gruppe:</td><td align=right>".$usergruppe['title']."</td>
</tr><tr>
<td colspan=2 height=10></td>
</tr></table>
</div></td>
<td valign=\"top\"><img src=\"".$user['avatar']."\"></td>
</tr></table>
</div>
</body>
</html>
";
02.02.2007, 14:16
Hast du gemacht, was Michael oben geschrieben hat?