Seite 1 von 1

Alter in eigene Steckbrief einbaun - Wie?

Verfasst: 16.04.2005 15:04
von Christian_N
Hallo,
ich benutze den Birthday MOD 1.5.7 alles funktioniert super, jetzt hab ich ein Steckbrief gemacht wo ich im meine Datenbank eine Tabelle angelegt habe "fanclub" phpbb_fanclub dort ist auch eine tabelle mit geburstag drin, habe im ACP ein menü ergestellt wo ich die Daten des steckbrief eingeben kann (bearbeiten) Name, Geburstag, Geboren in, etc. alle daten werde in die Datenbank phpbb_fanclub gespeichert, so jetzt wird die steckbrief datei aufgerufen, meinedomain.de/steckbrief.php dort werde alle daten aus der phpbb_fanclub eingelesen die ich im ACP eingegeben habe und dort ausgegeben den Name, Geburstag, Geboren in, etc. dies funktioniert soweit gut.

Jetzt würde ich aber gerne von den Birthday MOD die funktion mit in den steckbrief baue das dass Alter anzeigt hierbei soll er aber die tabelle geburstag von phpbb_fanclub benutzen.

Hat jemand eine idee wie ich es machen kann?

habe in der admin_user_list.php dies so lösen können darmals:

Code: Alles auswählen

 // Query users info...
$sql = "SELECT user_id, username, user_gender, user_birthday, user_next_birthday_greeting, user_email, user_vorname, user_zuname, user_adress, user_plz, user_from, user_from_flag, user_ausweiss, user_regdate, user_lastvisit, user_posts, user_active
		FROM ".USERS_TABLE."
		WHERE user_id > 0
		ORDER BY " . $sort_method . " " . $sort_order . "
		LIMIT ".$start.",".$users_per_page;
if(!$result = $db->sql_query($sql))
{
	message_die(GENERAL_ERROR, "Could not query Users information", "", __LINE__, __FILE__, $sql);
}
 
hab da user_birthday mit eingefügt und dann dies noch...

Code: Alles auswählen

// Start add - Birthday MOD
if ($userrow[$i]['user_birthday']!=999999)
{
	$user_birthday = realdate($lang['DATE_FORMAT'], $userrow[$i]['user_birthday']);
} 
else
{
	$user_birthday = $lang['No_birthday_specify'];
}
// End add - Birthday MOD
// Start add - Birthday MOD
$this_year = create_date('Y', time(), $board_config['board_timezone']);
$this_date = create_date('md', time(), $board_config['board_timezone']);
// End add - Birthday MOD
// Start add - Birthday MOD
	if ( $userrow[$i]['user_birthday'] != 999999 ) 
	{
		$poster_birthdate=realdate('md', $userrow[$i]['user_birthday']);
		$poster_age = $this_year - realdate ('Y',$userrow[$i]['user_birthday']);
		if ($this_date < $poster_birthdate) $poster_age--;
		$poster_age = $poster_age;
	} else
	{
		$poster_age = '';
	}
// End add - Birthday MOD
dieser kommt weiter hinten auch noch vor...

Code: Alles auswählen

// Start add - Birthday MOD
		'BIRTHDAY' => $user_birthday,
// End add - Birthday MOD

// Start add - Birthday MOD
		'POSTER_AGE' => $poster_age,
// End add - Birthday MOD
so zeigt er mir bei die Benutzerlieste im ACP des Alter bei die Benutzer an die ein Geburstag angaben.

Aber den code kann ich beim steckbrief nicht so ganz benutzen, kann mir jemand den mal vielleicht umändern, das er von die FANCLUB_TABLE (phpbb_fanclub) die tabelle geburstag einlesen tut und dann des alter berechnet und ausgibt im steckbrief.php wäre wirklich sehr dankbar für hilfe.

Gruß SuesseMaus28884

Verfasst: 16.04.2005 22:44
von Christian_N
Ich häng mal als Code die steckbrief.php an, $fanclub_config ist in common.php definiert, er zeigt alle andere einträge auch an, Geboren in, Name, etc.

Code: Alles auswählen

<?php
/***************************************************************************
 *                              steckbrief.php
 *                            -------------------
 *   begin                : Donnerstag den, 17. März 2005
 *   copyright            : (C) 2004 - 2005 Little Chantal's - Fanclub
 *
 *
 ***************************************************************************/

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_VIEWSTECKBRIEF);
init_userprefs($userdata);
//
// End session management
//


//
// Generate page
//
$page_title = $lang['Steckbrief'];
include($phpbb_root_path . 'includes/page_header.'.$phpEx);


$name = $fanclub_config['name'];
$geboren_in = $fanclub_config['geboren_in'];
$familienstand = $fanclub_config['familienstand'];
$heimatort = $fanclub_config['heimatort'];
$hobbys = $fanclub_config['hobbys'];
$lieblingstiere = $fanclub_config['lieblingstiere'];
$lieblingsfarbe = $fanclub_config['lieblingsfarbe'];
$lieblingsmusik = $fanclub_config['lieblingsmusik'];
$staerken = $fanclub_config['staerken'];
$schwaechen = $fanclub_config['schwaechen'];
$motto = $fanclub_config['motto'];
$bild_img = $fanclub_config['bild_img'];
$bild_url = $fanclub_config['bild_url'];


$template->set_filenames(array(
	'body' => 'steckbrief_body.tpl')
);


$template->assign_vars(array(

	"L_NAME" => $lang['Zuname'],
	"L_BIRTHDAY" => $lang['Birthday'],
	"L_GEBOREN" => $lang['Geboren'],
	"L_STAND" => $lang['Stand'],
	"L_HEIMATORT" => $lang['Heimatort'],
	"L_HOBBYS" => $lang['Hobbys'],
	"L_TIERE" => $lang['Tiere'],
	"L_MUSIK" => $lang['Musik'],
	"L_FARBE" => $lang['Farbe'],
	"L_STAERKEN" => $lang['Staerken'],
	"L_SCHWAECHEN" => $lang['Schwaechen'],
	"L_MOTTO" => $lang['Motto'],
	"L_STECKBRIEF" => $lang['Steckbrief'],

      "NAME" => $name,
	"GEBURSTAG" => $geburstag,
	"GEBOREN" => $geboren_in,
      "STAND" => $familienstand,
	"HEIMATORT" => $heimatort,
	"HOBBYS" => $hobbys,
      "LIEBLINGSTIERE" => $lieblingstiere,
	"LIEBLINGSFARBE" => $lieblingsfarbe,
	"LIEBLINGSMUSIK" => $lieblingsmusik,
      "STAERKEN" => $staerken,
	"SCHWAECHEN" => $schwaechen,
	"MOTTO" => $motto,
      "BILD_URL" => $bild_url,
	"BILD_IMG" => $bild_img,
	)
);


// Start add - Birthday MOD
if ($fanclub_config['geburstag']!=999999)
{
	$geburstag = realdate($lang['DATE_FORMAT'], $fanclub_config['geburstag']);
} 
else
{
	$geburstag = $lang['No_birthday_specify'];
}
// End add - Birthday MOD
// Start add - Birthday MOD
$this_year = create_date('Y', time(), $board_config['board_timezone']);
$this_date = create_date('md', time(), $board_config['board_timezone']);
// End add - Birthday MOD
// Start add - Birthday MOD
	if ( $fanclub_config['geburstag'] != 999999 ) 
	{
		$poster_birthdate=realdate('md', $fanclub_config['geburstag']);
		$poster_age = $this_year - realdate ('Y',$fanclub_config['geburstag']);
		if ($this_date < $poster_birthdate) $poster_age--;
		$poster_age = $poster_age;
	} else
	{
		$poster_age = '';
	}
// End add - Birthday MOD


$template->assign_block_vars('userrow', array(

// Start add - Birthday MOD
	'POSTER_AGE' => $poster_age)
// End add - Birthday MOD
		);

$template->pparse('body');

include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

?>
Siehe http://www.fanclub-littlechantal.de/test/steckbrief.php - alles zeigt an ausser das Alter das wird und Geburstag - (also: 20.12.1993 [11]) irgendwo hab ich da wohl noch was falsch wäre wirklich danke, wenn mir wer hilft was ich noch ändern müssten.

Gruß SuesseMaus28884

Verfasst: 16.04.2005 23:40
von Christian_N
Na Leute,
wieso schwer machen, wenn es auch einfacher geht?
Habe bei Google mal gesucht und eine lösung gefunde und zwar über JavaScript, ist zwar nicht gerade die perfekte lösung aber zu not gehts auch.

Hier mal die Seite: http://www.schmittis-page.de/index.html?/java/t7.htm :)

Jetzt zeigt er in [ALTER] an, jetzt haben wir noch kein dez. um zu schaun ob es sich aktuallisert aber denke schon, wird man dann sehn jedenfalls, wenn es soweit ist :)

Vielleicht hat aber auch jemand anders noch eine lösung in PHP oder so wie man es machen kann da auch nicht jeder JavaScript aktiviert habe bzw. ältere Browers benutzen oder andere als den IE.

Wäre über jede weitere lösung in PHP sehr dankbar.

Gruß SuesseMaus28884