Seite 1 von 1

Profile durchblättern

Verfasst: Mi 18.Jul, 2007 16:32
von Holger
Hallo,

ich vermisse in der Profilansicht zwei Buttons för "vorheriges Profil" und "nächstes Profil".
Wäre es schwer sowas zu machen?

Gruss
Holger

Verfasst: Mi 18.Jul, 2007 17:00
von oxpus
???
Wie jetzt im Profil blättern?
Vor allem "vermisst"...

Öh, ja, ähnlich umfangreich, wie in der Themenansicht letzter/nächster Post, wobei die Abfrage sicher ein Stück einfacher gehalten werden könnte.

*wiedereinmalerstauntüberdeninhaltdieseranfrageist*

Verfasst: Mi 18.Jul, 2007 17:09
von Holger
Äh, ja, vermisst halt!
Es gibt die Möglichkeit nicht.
Wenn ich mir ein Profil anschaue, dann muss ich die User-ID in der URL händisch ändern um das vorhergehende Profil zu sehen.
Dazu muss ich sagen: ich habe einen MOD eingebaut, der inaktive Accounts ausblendet. Deshalb kann ich das Ganze nicht über die Memberlist abfackeln.

Verfasst: Mi 18.Jul, 2007 19:06
von oxpus
Ich gebe Dir mal einen Tipp zur Vorgehensweise:
Die Abfragen müssten so lauten:

Code: Alles auswählen

$sql = "SELECT user_id FROM " . USERS_TABLE . "
	WHERE user_id < " . (int) $HTTP_GET_VARS[POST_USERS_URL] . "
		AND user_id > " . ANONYMOUS . "
		AND user_active = " . true . "
	ORDER BY user_id DESC
	LIMIT 1";
if (!($result = $db->sql_query($sql)))
{
	message_die(GENERAL_MESSAGE, $lang['No_user_id_specified']);
}

$found_user = $db_numrows($result);
if ($found_user)
{
	$template->assign_vars(array(
		'L_PREV_USER' => $lang['definiere_text_für_vorheriges_profil'],
		'U_PREV_USER' => append_sid("profile.$phpEx?mode=viewprofile&".POST_USER_URL."=".$row['user_id']))
	);
}
$db_>sql_freeresult($result);

$sql = "SELECT user_id FROM " . USERS_TABLE . "
	WHERE user_id > " . (int) $HTTP_GET_VARS[POST_USERS_URL] . "
		AND user_active = " . true . "
	ORDER BY user_id ASC
	LIMIT 1";
if (!($result = $db->sql_query($sql)))
{
	message_die(GENERAL_MESSAGE, $lang['No_user_id_specified']);
}

$found_user = $db_numrows($result);
if ($found_user)
{
	$template->assign_vars(array(
		'L_NEXT_USER' => $lang['definiere_text_für_nächstes_profil'],
		'U_NEXT_USER' => append_sid("profile.$phpEx?mode=viewprofile&".POST_USER_URL."=".$row['user_id']))
	);
}
$db_>sql_freeresult($result);
Dann noch die Texte definieren, die Werte ins Template packen (L_..._USER und U_..._USER) und fertig wäre das eigentlich schon...

Verfasst: Do 19.Jul, 2007 08:53
von Holger
Danke!

Verfasst: Mo 30.Jul, 2007 13:22
von Holger
Macht es Sinn, den Code vor

Code: Alles auswählen

//
// Start of program proper
//
einzufügen?

Verfasst: Mo 30.Jul, 2007 13:23
von oxpus
Hauptsache vor $template->assign_vars(array( ;)

Verfasst: Mo 30.Jul, 2007 13:25
von Holger
Gibt es in profile.php nicht! :-(

Verfasst: Mo 30.Jul, 2007 13:46
von Christian_N
Wenn es die Profilansicht betrifft dann ist es in der Regel auch die includes/usercp_viewprofile.php und in dieser müsste die genannte Suchstelle von Oxpus jedenfalls sein :)

Gruß Chris

Verfasst: Di 31.Jul, 2007 10:16
von oxpus
Ja, nur in der usercp_viewprofile.php!
Die profile.php ist "nur" eine Hülse für das User-Panel!

Verfasst: Di 31.Jul, 2007 11:18
von Holger
Danke! Habe ich jetzt gemerkt! :!:

Verfasst: So 26.Aug, 2007 11:38
von michael5
Hallo Karsten,
hallo zusammen,

das Blättern in Profilen finde ich auch sehr gut.

Nur bei klappt es bei mir nicht.
Es erscheint eine Fehlermeldung in der Zeile 640: $found_user = $db_numrows($result):

Fatal error: Function name must be a string in includes/usercp_viewprofile.php on line 640

habe im Internet andere Seiten gesehen die das "$" - Zeichen n i c h t vor db_numrows(...) haben und es hier mal entfernt, bekomme dann aber eine andere Fehlermeldung:

Fatal error: Call to undefined function db_numrows() in includes/usercp_viewprofile.php on line 640

Vielleicht liegt es an meiner neuen PHP Version 5.2.3 ???

Vielen Dank für die Hilfe!
Gruß Michael

Verfasst: So 26.Aug, 2007 12:37
von oxpus
Die Zeile muss

Code: Alles auswählen

$found_user = $db->sql_numrows($result);
lauten.
Dann klappt es auch wieder mit dem Nachbarn.

Error Meldung jetzt weg ...

Verfasst: So 26.Aug, 2007 14:28
von michael5
Hallo Karsten,

Vielen Dank für die schnelle Antwort!

Klasse, es funktioniert jetzt mit

$found_user = $db->sql_numrows($result);)

ABER hat $row['user_id'] keinen Wert ( "" - leer! )

Die href-Anweisung lautet immer bei vorherig + nächster:
http://...profile.$phpEx?mode=viewprofile&POST_USER_URL=

(als Anlage meine includes/usercp_viewtopic.php)
schaue im Moment aber selbst nochmal nach!

oder liegt es am template?
<td><a href="{U_NEXT_USER}" class="nav">{L_NEXT_USER}</a></td>
<td><a href="{U_PREV_USER}" class="nav">{L_PREV_USER}</a></td>


P.S: Hatte nach der "Nachbar"-Änderung eine andere Fehlermeldung.
In Deinem Script ist ein Unterstrich ansatt ein Bindestrich:
$db_>sql_freeresult($result);
$db->sql_freeresult($result); so müsste es doch heissen?!

Versteh' nicht warum es bei den anderen läuft?

Vielen Dank!
Gruß Michael


NACHTRAG:
habe mir die werte ausgeben lassen
userID:
Founduser: 1


vielleicht beisst es sich mit den schon eingbauten mod ( row[user_id] bereits auf EOF! )
davor - Zeile 123:

Code: Alles auswählen

//
// Retrieve the number of views
//
$sql = "SELECT user_profile_views
	FROM " . USERS_TABLE . "
	WHERE user_id = " . $profiledata['user_id'];
if ( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Could not retreive profile views', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$total_profile_views =  ( $row['user_profile_views'] ) ? $row['user_profile_views'] : 0;
$db->sql_freeresult($result);
// Profile views MOD, By Manipe (End)
kann man auch anstatt row['user_id'] auch $userdata['user_id'] dafür missbrauchen?

Verfasst: So 26.Aug, 2007 15:34
von oxpus
Öhm, sorry, aber ich muss Deinen Fluss hier mal unterbrechen:

Das Script, was ich gepostet hatte, war alles andere als fertig und nur eine grobe Vorgabe!
Wenn Holger das bei sich hin bekommen hat, kann er hier auch sicher weiter helfen, ich hatte ihm hier nur eine Vorlage geliefert, um den eigenen Lerneffekt zu erhöhen...

Bitte nicht immer alles sofort umsetzen, solange ein kompletter MOD gepostet wurde.
Ist eben sonst alles nur eine reine Gedankenhülse.
Und um weitere Verwirrungen zu vermeiden, werde ich das Topic jetzt mal verschieben.

Verfasst: So 26.Aug, 2007 20:49
von michael5
Ist OK! Trotzdem vielen Dank für Deine Hilfe!

Gruß Michael

Verfasst: Di 28.Aug, 2007 20:19
von Holger
Langsam, langsam, bin gerade erst aus dem Urlaub zurück ... setze mich die Tage mal dran und versuche es.
Aber erstmal ist ein Update vom Download Mod und UPI2DB dran.