09.09.2007, 02:30
09.09.2007, 13:08
hm.....@dragon,
ich werd mal die Daten selber in Ruhe durchgehen.
Du brauchst nichts für mich zu suchen.
Aber trotzdem Danke
Wollt nur fragen ob man auch ein Absatz
einfügen kann ?
$post['username'] = "{$post['fid4']} {$post['fid6']}";
fid4 ist der Vorname und fid6 der Nachname
möchte das es so steht
Vorname
Nachname
und im mooment steht es so da
Vorname Nachname
ich werd mal die Daten selber in Ruhe durchgehen.
Du brauchst nichts für mich zu suchen.
Aber trotzdem Danke
Wollt nur fragen ob man auch ein Absatz
einfügen kann ?
$post['username'] = "{$post['fid4']} {$post['fid6']}";
fid4 ist der Vorname und fid6 der Nachname
möchte das es so steht
Vorname
Nachname
und im mooment steht es so da
Vorname Nachname
09.09.2007, 13:35
Dann:
PHP-Code:
$post['username'] = "{$post['fid4']}<br />{$post['fid6']}";
14.09.2007, 15:50
Benutzerliste:
Ersetze im Template "memberlist_row":durch:letzten Beiträge:
inc/functions.php:
Ersetze:
durch:
Ersetze im Template "memberlist_row":
Code:
{$users['username']}
Code:
{$users['fid4']} {$users['fid6']}
inc/functions.php:
Ersetze:
PHP-Code:
$query = $db->query("
SELECT u.uid, u.username, p.username AS postusername, p.dateline
FROM ".TABLE_PREFIX."posts p
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=p.uid)
WHERE p.tid='$tid' AND p.visible='1'
ORDER BY p.dateline DESC
LIMIT 1"
);
$lastpost = $db->fetch_array($query);
$query = $db->query("
SELECT u.uid, u.username, p.username AS postusername, p.dateline
FROM ".TABLE_PREFIX."posts p
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=p.uid)
WHERE p.tid='$tid'
ORDER BY p.dateline ASC
LIMIT 1
");
$firstpost = $db->fetch_array($query);
PHP-Code:
$query = $db->query("
SELECT u.uid, u.username, p.username AS postusername, p.dateline, f.*
FROM ".TABLE_PREFIX."posts p
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=p.uid)
LEFT JOIN ".TABLE_PREFIX."userfields f ON (f.ufid=u.uid)
WHERE p.tid='$tid' AND p.visible='1'
ORDER BY p.dateline DESC
LIMIT 1"
);
$lastpost = $db->fetch_array($query);
$query = $db->query("
SELECT u.uid, u.username, p.username AS postusername, p.dateline, f.*
FROM ".TABLE_PREFIX."posts p
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=p.uid)
LEFT JOIN ".TABLE_PREFIX."userfields f ON (f.ufid=u.uid)
WHERE p.tid='$tid'
ORDER BY p.dateline ASC
LIMIT 1
");
$firstpost = $db->fetch_array($query);
if($firstpost['fid4'] && $firstpost['fid6'])
{
$firstpost['username'] = "{$firstpost['fid4']} {$firstpost['fid6']}";
}
if($lastpost['fid4'] && $lastpost['fid6'])
{
$lastpost['username'] = "{$lastpost['fid4']} {$lastpost['fid6']}";
}
07.10.2007, 14:26
Ist das erledigt?
22.10.2007, 20:08
Hallo Dragon, bei mir hat bisher das beschriebene gut funktioniert.
Herzlichen Dank dafür.
Aber wie du schon richtig bemerkst, ist es schwierig an allen Stellen eine Modifikation vorzunehmen.
Ist es aber nicht so, daß die Ausgabe des Benutzernames aus der Datenbanktabelle „posts“ erfolgt. Wäre es dann nicht am einfachsten in posts.username gleich den Vor- und Nachnamen der erstellen Profilfelder einzutragen.
Bin ich damit total auf dem Holzweg? :question:
Such mich gerade zu tote wo wohl die Post in die Datenbank geschrieben wird.
Jemand eine Idee?
Herzlichen Dank dafür.
Aber wie du schon richtig bemerkst, ist es schwierig an allen Stellen eine Modifikation vorzunehmen.
Ist es aber nicht so, daß die Ausgabe des Benutzernames aus der Datenbanktabelle „posts“ erfolgt. Wäre es dann nicht am einfachsten in posts.username gleich den Vor- und Nachnamen der erstellen Profilfelder einzutragen.
Bin ich damit total auf dem Holzweg? :question:
Such mich gerade zu tote wo wohl die Post in die Datenbank geschrieben wird.
Jemand eine Idee?
Arakel schrieb:Ist es aber nicht so, daß die Ausgabe des Benutzernames aus der Datenbanktabelle „posts“ erfolgt.Sorry, das war Mist. Hab in phpMyAdmin gerade mal das Feld verändert und z.B. beim Zitieren wird trotzdem mittels uid der Name ermittelt.
23.10.2007, 12:43
In der Datenbank wird aus Performence-Gründen der Benutzername zwischengespeichert. Allerdings wird er, wie du schon sagtest, bei vielen Aktionen neu geladen. Damit kann man also nicht arbeiten.
23.10.2007, 14:12
Ja, so sieht es aus. Also doch alles Stück bei Stück:
z.B. für die Anzeige: Unser neuestes Mitglied heißt:
Wieder in der Datei functions.php ca. bei Zeile 1250:
Also nur den Code einfügen. Wobei natürlich wieder der Index ( fidx) individuell angepasst werden muß.
Nach der Veränderung muß auch der Cache von 'stats' neu gebildet werden. (Admin-CP / Verwaltung / Cache-Manager)
Hoffe der Code ist nicht allzu schrecklich, bin kein Profi in PHP/SQL.
Jetzt brauche ich noch "Wer ist online", das Zitieren (xxx schrieb: ) und den Namen von Threadverfassern.
z.B. für die Anzeige: Unser neuestes Mitglied heißt:
Wieder in der Datei functions.php ca. bei Zeile 1250:
PHP-Code:
// Fetch latest user if the user count is changing
if(array_key_exists('numusers', $changes))
{
$query = $db->simple_select(TABLE_PREFIX."users", "uid, username", "", array('order_by' => 'uid', 'order_dir' => 'DESC', 'limit' => 1));
$lastmember = $db->fetch_array($query);
//******************************************************************************
// Anzeige des ganzen Namens
$namenuserid = $lastmember['uid'];
$query = $db->query("SELECT f.* FROM ".TABLE_PREFIX."userfields f
WHERE f.ufid= '$namenuserid'
LIMIT 1
");
$ganzername = $db->fetch_array($query);
$lastmember['username'] = "{$ganzername['fid4']} {$ganzername['fid5']}";
//******************************************************************************
$new_stats['lastuid'] = $lastmember['uid'];
$new_stats['lastusername'] = $lastmember['username'];
Nach der Veränderung muß auch der Cache von 'stats' neu gebildet werden. (Admin-CP / Verwaltung / Cache-Manager)
Hoffe der Code ist nicht allzu schrecklich, bin kein Profi in PHP/SQL.
Jetzt brauche ich noch "Wer ist online", das Zitieren (xxx schrieb: ) und den Namen von Threadverfassern.
23.10.2007, 15:53
Das Code ist ganz in Ordnung. Ich werde die beiden anderen Sachen mir mal anschauen, sobald ich Zeit dafür habe.
23.10.2007, 19:37
Dragon schrieb:Das Code ist ganz in Ordnung. Ich werde die beiden anderen Sachen mir mal anschauen, sobald ich Zeit dafür habe.
Danke Dragon
Hab jetzt eine Lösung für die Anzeige "Wer ist online"
diesmal in der index.php (!) ca. Zeile 50:
PHP-Code:
// Get the online users.
$timesearch = time() - $mybb->settings['wolcutoffmins']*60;
$comma = '';
$query = $db->query("
SELECT s.sid, s.ip, s.uid, s.time, s.location, u.username, u.invisible, u.usergroup, u.displaygroup
FROM ".TABLE_PREFIX."sessions s
LEFT JOIN ".TABLE_PREFIX."users u ON (s.uid=u.uid)
WHERE s.time>'$timesearch'
ORDER BY u.username ASC, s.time DESC
");
PHP-Code:
// Get the online users.
$timesearch = time() - $mybb->settings['wolcutoffmins']*60;
$comma = '';
$query = $db->query("
SELECT s.sid, s.ip, s.uid, s.time, s.location, u.username, u.invisible, u.usergroup, u.displaygroup, f.*
FROM ".TABLE_PREFIX."sessions s
LEFT JOIN ".TABLE_PREFIX."users u ON (s.uid=u.uid)
LEFT JOIN ".TABLE_PREFIX."userfields f ON (f.ufid=u.uid)
WHERE s.time>'$timesearch'
ORDER BY u.username ASC, s.time DESC
");
PHP-Code:
// Properly format the username and assign the template.
$user['username'] = format_name($user['username'], $user['usergroup'], $user['displaygroup']);
PHP-Code:
// Properly format the username and assign the template.
$user['username'] = format_name("{$user['fid4']} {$user['fid5']}", $user['usergroup'], $user['displaygroup']);
Dragon, ist das überhaupt OK, wenn ich hier dieses Zeug poste? Denke es könnte vielleicht jemanden mit dem gleichen Problem helfen.
Habe jetzt noch das Problem, daß beim Schicken von PM und Email der Nick im To-Feld steht Tja, es bleibt noch viel zu tun
Und natürlich der Verfasser und das Zitieren aber ich bin dran. Wird sicher noch, hab myBB ja erst seit Sonntag am laufen