Haumis wbb hilfe (http://haumis-wbb-hilfe.de/wbb2/index.php)
- WBB2 (http://haumis-wbb-hilfe.de/wbb2/board.php?boardid=3)
-- Es klappt nicht (http://haumis-wbb-hilfe.de/wbb2/board.php?boardid=48)
--- Portalbox - neuste Beiträge (http://haumis-wbb-hilfe.de/wbb2/thread.php?threadid=2418)


Geschrieben von exagon am 12.03.2013 um 21:31:

  Portalbox - neuste Beiträge

Hallo zusammen,

Ich möchte bei meinem Forum eine zusätzliche Portalbox einbauen, die die neusten Beiträge aus einem bestimmten Forum anzeigt.
Dafür habe ich schon ein PHP-Script gefunden, jedoch fehlt noch die Ausgabe der Zeit.

Mein Versuch war es, nach Zeile 20 die Zeit auch in die Reihe aufzunehmen "$row['time']=$row['time']"

und sie dann über " echo"$u[time]"" auszugeben. Das klappt aber nicht - ich glaube habe die Zeit schon falsch eingespeichert.
Bin froh um jede Hilfe.

Liebe Grüsse



code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
 
<?php
require_once(WCF_DIR.'lib/page/AbstractPage.class.php');
# USER-SETUP ***********************************************
#   Max. Anzahl der anzuzeigenden News
$maxNews    = 5;
#   Max. Zeichenlaenge des Topic
$maxLength  = 35;
# **********************************************************

$TopNewsData = array();

$sql = "SELECT wnew.threadID, wnew.boardID,  wnew.time, wnew.topic"
    ."\n  FROM wbb".WBB_N."_thread wnew"
    ."\n WHERE wnew.boardID in (71,70,129)"
    ."\n  ORDER BY wnew.time DESC"
    ."\n  LIMIT 0, ".$maxNews;
$result = WBBCore::getDB()->sendQuery($sql);
while($row = WBBCore::getDB()->fetchArray($result)) {
        $row['topic'] = StringUtil::substring(StringUtil::encodeHTML($row['topic']), 0, $maxLength);
        $row['threadid'] = intval($row['threadID']);
        $TopNewsData[] = $row;
}
$c = 1;
foreach($TopNewsData as $k => $u) {
    echo '<div class="container-'.$c.' smallFont" style="float:none; margin-right:6px;">';
    echo '<img alt="" src="icon/postS.png" />&nbsp;';
    echo '<a title="';
    echo "$u[topic]";
    echo '" href="index.php?page=Thread&amp;threadID=';
    echo "$u[threadid]";
    echo '">';
    echo "$u[topic]";
    echo '</a>';
    echo '<br />';
    echo '</div>';
    $c = $c === 1 ? 2 : 1;
}
unset($TopNewsData, $maxNews, $maxLength, $result, $row);
?>



Geschrieben von haumi am 12.03.2013 um 21:40:

 

Die Zeit in der Tabelle bb1_thread (starttime bzw. lastposttime) ist als unixtimestamp gespeichert.
Ich gehe mal davon aus, dass mit $row['time'] dieser timestamp ausgegeben wird.
Um hieraus die Zeit zu erfassen versuche folgendes:

$time = $row['time'];
$zeit = date("H:i:s" , $time);
echo $zeit;

mit $datum = date("d. m. Y" , $time); erhälst du das Datum und mit

$datum_zeit = date("d. m. Y H:i:s" , $time); erhälst du Datum und Zeit.

Ich hoffe ich habe dich richtig verstanden!

LG
haumi



Geschrieben von exagon am 12.03.2013 um 21:48:

 

Vielen vielen Dank! Damit hat es geklappt.


Ich habe die Zeit nun mit:

code:
1:
$row['time']= date("H:i:s" , $row['time']);


eingelesen und sie mit:

code:
1:
echo "$u[time]";


ausgegeben.


Edit: Ich poste hier noch das ergänzte Script, falls noch jemand darauf zurückgreifen möchte (habe noch die Sortierung nach letzter Antwort hinzugefügt.):

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
<?php
require_once(WCF_DIR.'lib/page/AbstractPage.class.php');
# USER-SETUP ***********************************************
#   Max. Anzahl der anzuzeigenden News
$maxNews    = 5;
#   Max. Zeichenlaenge des Topic
$maxLength  = 35;
# **********************************************************

$TopNewsData = array();

$sql = "SELECT wnew.threadID, wnew.boardID,  lastPostTime, wnew.topic"
    ."\n  FROM wbb".WBB_N."_thread wnew"
    ."\n WHERE wnew.boardID in (71,70,129)"
    ."\n  ORDER BY lastPostTime DESC"
    ."\n  LIMIT 0, ".$maxNews;
$result = WBBCore::getDB()->sendQuery($sql);
while($row = WBBCore::getDB()->fetchArray($result)) {
        $row['topic'] = StringUtil::substring(StringUtil::encodeHTML($row['topic']), 0, $maxLength);
        $row['threadid'] = intval($row['threadID']);
	$row['lastPostTime']= date("H:i:s" , $row['lastPostTime']);
        $TopNewsData[] = $row;
}
$c = 1;
foreach($TopNewsData as $k => $u) {
    echo '<div class="container-'.$c.' smallFont" style="float:none; margin-right:6px;">';
    echo '<img alt="" src="icon/postS.png" />&nbsp;';
    echo '<a title="';
    echo "$u[topic]";
    echo '" href="index.php?page=Thread&amp;threadID=';
    echo "$u[threadid]";
    echo '">';
    echo "$u[topic]";
    echo ' - ';
    echo "$u[lastPostTime]";
    echo '</a>';
    echo '<br />';
    echo '</div>';
    $c = $c === 1 ? 2 : 1;
}
unset($TopNewsData, $maxNews, $maxLength, $result, $row);
?>


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH