Re: Zeit addieren

Re: Zeit addieren

am 29.03.2008 12:34:13 von Claus Reibenstein

Josef Langenegger schrieb:

> Ist es das: > class="date">{$m.timestamp|date_format:$BLOG_DATETIMEFORMAT| replace:"@S":$m.blog_day_suffix}??

Was immer das ist: PHP ist es jedenfalls nicht. Von daher: Nein.

Gruß. Claus

Re: Zeit addieren

am 29.03.2008 14:45:55 von Josef Langenegger

"Claus Reibenstein" <4spamersonly@online.de> schrieb im Newsbeitrag
news:656npmF2ej0j9U1@mid.individual.net...
> Josef Langenegger schrieb:
>
>> Ist es das: >> class="date">{$m.timestamp|date_format:$BLOG_DATETIMEFORMAT| replace:"@S":$m.blog_day_suffix}??
>
> Was immer das ist: PHP ist es jedenfalls nicht. Von daher: Nein.
>
> Gruß. Claus


Das sieht nach auslesen aus:

$query = "SELECT bp.blog_posts_id as id,
bp.blog_posts_title as title,
bp.blog_posts_text as text,
bp.blog_posts_users_id as users_id,
UNIX_TIMESTAMP(bp.blog_posts_timestamp) as timestamp,
bp.blog_posts_media_id as media_id,
ul.users_login_name as nickname,
u.users_avatar as avatar
FROM ".$dbconn->getTable("blog_posts")." bp
LEFT JOIN ".$dbconn->getTable("users_login")." ul ON ul.users_login_id =
bp.blog_posts_users_id
LEFT JOIN ".$dbconn->getTable("users")." u ON ul.users_login_id = u.users_id
ORDER BY bp.blog_posts_timestamp DESC
LIMIT 0,".$main->getConfig("box_num_blog");

Hilft das weiter?
Danke für die Hilfe!

Gruss
Josef

Re: Zeit addieren

am 29.03.2008 16:41:39 von Claus Reibenstein

Josef Langenegger schrieb:

> "Claus Reibenstein" <4spamersonly@online.de> schrieb im Newsbeitrag
> news:656npmF2ej0j9U1@mid.individual.net...

Bitte kürze diesen Einleitungsroman auf eine kurze Zeile.

> Das sieht nach auslesen aus:
>
> $query = "SELECT bp.blog_posts_id as id,
> bp.blog_posts_title as title,
> bp.blog_posts_text as text,
> bp.blog_posts_users_id as users_id,
> UNIX_TIMESTAMP(bp.blog_posts_timestamp) as timestamp,
> bp.blog_posts_media_id as media_id,
> ul.users_login_name as nickname,
> u.users_avatar as avatar
> FROM ".$dbconn->getTable("blog_posts")." bp
> LEFT JOIN ".$dbconn->getTable("users_login")." ul ON ul.users_login_id =
> bp.blog_posts_users_id
> LEFT JOIN ".$dbconn->getTable("users")." u ON ul.users_login_id = u.users_id
> ORDER BY bp.blog_posts_timestamp DESC
> LIMIT 0,".$main->getConfig("box_num_blog");

Hier wird nur ein String zusammengebaut, der eine Datenbankabfrage
enthält. Der Code, der diese Abfrage dann ausführt und das Ergebnis
auswertet, fehlt.

Unter Anderem soll dabei auch ein Unix-Timestamp eingelesen werden. Ist
das der Timestamp, der um 5 Stunden erhöht werden soll? Dann musst Du
jetzt nur noch die PHP-Variable ermitteln, auf dem dieser Timestamp zu
liegen kommt (welche das ist, geht aus Deinem Codeschnipsel nicht
hervor) und auf diesen einfach 5 Stunden aufaddieren (Tipp:
Unix-Timestamps rechnen in Sekunden).

Falls Du damit immer noch nicht klar kommst, würde ich vorschlagen, Du
postest einfach mal das gesamte Script, und wir suchen uns dann die
passende Stelle heraus.

Gruß. Claus

Re: Zeit addieren

am 29.03.2008 17:00:39 von Josef Langenegger

>> "Claus Reibenstein" <4spamersonly@online.de> schrieb im Newsbeitrag
>> news:656npmF2ej0j9U1@mid.individual.net...
>
> Bitte kürze diesen Einleitungsroman auf eine kurze Zeile.
>
>
> Falls Du damit immer noch nicht klar kommst, würde ich vorschlagen, Du
> postest einfach mal das gesamte Script, und wir suchen uns dann die
> passende Stelle heraus.
>
> Gruß. Claus

Danke für die Geduld!

Hier müsste es sein:

$query = "SELECT bp.blog_posts_id as id,
bp.blog_posts_title as title,
bp.blog_posts_text as text,
bp.blog_posts_users_id as users_id,
UNIX_TIMESTAMP(bp.blog_posts_timestamp) as timestamp,
bp.blog_posts_media_id as media_id,
ul.users_login_name as nickname,
u.users_avatar as avatar
FROM ".$dbconn->getTable("blog_posts")." bp
LEFT JOIN ".$dbconn->getTable("users_login")." ul ON ul.users_login_id =
bp.blog_posts_users_id
LEFT JOIN ".$dbconn->getTable("users")." u ON ul.users_login_id = u.users_id
ORDER BY bp.blog_posts_timestamp DESC
LIMIT 0,".$main->getConfig("box_num_blog");
}else{
$query = "SELECT bpc.blog_comments_posts_id as id,
bp.blog_posts_title as title,
bpc.blog_comments_text as text,
UNIX_TIMESTAMP(bpc.blog_comments_timestamp) as timestamp,
bpc.blog_comments_users_id as users_id,
bpc.blog_comments_media_id as media_id,
ul.users_login_name as nickname,
u.users_avatar as avatar
FROM ".$dbconn->getTable("blog_comments")." bpc
LEFT JOIN ".$dbconn->getTable("blog_posts")." bp ON
bpc.blog_comments_posts_id = bp.blog_posts_id
LEFT JOIN ".$dbconn->getTable("users_login")." ul ON ul.users_login_id =
bpc.blog_comments_users_id
LEFT JOIN ".$dbconn->getTable("users")." u ON ul.users_login_id = u.users_id
ORDER BY bpc.blog_comments_timestamp DESC
LIMIT 0,".$main->getConfig("box_num_blog");
};
$all = $dbconn -> return_query($query);
if ($dbconn->returnCount() > 0){
$return_text = "";
if(empty($all["avatar"])){$all["avatar"] = "templates/" . CURRENT_TEMPLATE .
"/images/no_avatar.gif";}
else {$all["avatar"] = "media/avatar/" . $all["avatar"];}
$all["day_suffix"] = date('S', $all["timestamp"]);
$all["ULINK"] = user_link($all["users_id"], $all["nickname"]);
$all["BLINK"] = seo_blog_link($all["id"], $all["title"]);
$return_array[] = $all;
while($all = $dbconn -> return_array(1)){
if(empty($all["avatar"])){$all["avatar"] = "templates/" . CURRENT_TEMPLATE .
"/images/no_avatar.gif";}
else {$all["avatar"] = "media/avatar/" . $all["avatar"];}
$all["day_suffix"] = date('S', $all["timestamp"]);
$all["ULINK"] = user_link($all["users_id"], $all["nickname"]);
$all["BLINK"] = seo_blog_link($all["id"], $all["title"]);
$return_array[] = $all;
};
foreach($return_array as $key=>$value){
$allowed_tags = array('b', 'i', 'u', 'a', 'img', 'strong', 'em', 'strike');
$return_array[$key]["text"] = filter($value["text"], $allowed_tags);
};
};
$blog = new Blog($blog_sort, false);
$date_format = str_replace(array('d', 'F', 'Y', 'j', 'S', 'l', 'm'),
array('%d', '%B', '%Y', '%e', '@S', '%A', '%m'),
$main->getLanguageSetting("date_format"));
$time_format = str_replace(array('H', 'i', 's', 'h', 'a', 'A', '\\%I'),
array('%H', '%M', '%S', '%I', '%p', '%p', 'h'),
$main->getLanguageSetting("time_format_short"));
$datetime_format = $date_format.' '.$time_format;
$smarty->assign("BLOG_AVATAR_HEIGHT", round((50 /
$main->getConfig('avatar_max_width')) *
$main->getConfig('avatar_max_height')));
$smarty->assign("BLOG_TITLE_HEIGHT", round((50 /
$main->getConfig('avatar_max_width')) *
$main->getConfig('avatar_max_height')) + 2);
$smarty->assign('BLOG_DATEFORMAT', $date_format);
$smarty->assign('BLOG_TIMEFORMAT', $time_format);
$smarty->assign('BLOG_DATETIMEFORMAT', $datetime_format);
$smarty -> assign("TEXT", $return_text);
$smarty -> assign("SHOW", $return_array);
$smarty -> assign("TITLE",
($blog_sort=="date")?$language["blog_blogbox_title2"]:$langu age["blog_blogbox_title1"]);
return $smarty -> fetch("boxes/blogbox.tpl");
}
}

Gruss
Josef

Re: Zeit addieren

am 29.03.2008 17:12:40 von Claus Reibenstein

Josef Langenegger schrieb:

>> Falls Du damit immer noch nicht klar kommst, würde ich vorschlagen, Du
>> postest einfach mal das gesamte Script, und wir suchen uns dann die
>> passende Stelle heraus.
>
> Danke für die Geduld!

Sie wird im Augenblick arg strapaziert ...

> }else{

Wo ein "else" ist, muss vorher auch ein zugehöriges "if" sein.

Steht der Code wirklich so unstrukturiert in den Scriptdateien drin, wie
er hier rüberkommt? Den zu lesen, ist echt eine Zumutung. Zumal auch
keine erklärenden Kommentare enthalten sind, die einem dabei helfen
könnten :-(

Außerdem lässt der Code klar erkennen, dass der Autor die verschiedenen
Stringarten von PHP nicht kennt.

> $all = $dbconn -> return_query($query);

Hier wird die Abfrage an die Datenbank geschickt. Danach enthält
$all['timestamp'] den Timestamp. Den könntest Du jetzt um 5 Stunden
(also 5 * 3600 Sekunden) erhöhen:

$all['timestamp'] += 5 * 3600;

Gruß. Claus

Re: Zeit addieren

am 30.03.2008 08:26:08 von Josef Langenegger

"Claus Reibenstein" <4spamersonly@online.de> schrieb im Newsbeitrag
news:65783qF2evp7aU1@mid.individual.net...
> Josef Langenegger schrieb:
>
> Wo ein "else" ist, muss vorher auch ein zugehöriges "if" sein.

Ist klar - es war nur ein Ausschnitt.

> $all = $dbconn -> return_query($query);
>
> Hier wird die Abfrage an die Datenbank geschickt. Danach enthält
> $all['timestamp'] den Timestamp. Den könntest Du jetzt um 5 Stunden
> (also 5 * 3600 Sekunden) erhöhen:
>
> $all['timestamp'] += 5 * 3600;

Ja, das funktionert bestens. Danke!

> Unter Anderem soll dabei auch ein Unix-Timestamp eingelesen werden. Dann
> musst Du
> jetzt nur noch die PHP-Variable ermitteln, auf dem dieser Timestamp zu
> liegen kommt und auf diesen einfach 5 Stunden aufaddieren.

Ich habe aber noch über 10 weitere Files mit einem Unix-Timestamp, und jedes
ist anders strukturiert.....
Es ist mir klar, dass ich nun nicht alle dir schicken kann.
Wie kann ich selber feststellen, auf welchePHP-Variable dieser Timestamp zu
liegen kommt? Ich hoffe, dass ich es dann selber hinkriege.

Mit Gruss
Josef

Re: Zeit addieren

am 30.03.2008 14:53:48 von Jacob Hayn

Josef Langenegger schrieb:
> Ich habe aber noch über 10 weitere Files mit einem Unix-Timestamp, und
> jedes ist anders strukturiert.....

Moin Josef,

du solltest dir auch einmal die funktion date_default_timezone_set
ansehen; http://de2.php.net/date_default_timezone_set.

Gruß Jacob

Re: Zeit addieren

am 30.03.2008 17:46:26 von Josef Langenegger

"Jacob Hayn" schrieb im Newsbeitrag
news:47ef8d60$0$22711$9b622d9e@news.freenet.de...

> du solltest dir auch einmal die funktion date_default_timezone_set
> ansehen; http://de2.php.net/date_default_timezone_set.
>

Sieht gut aus - wahrscheinlich genau das, was ich brauche.
Aber wie muss ich dies nun integrieren??

Mit Gruss
Josef