anpera.net https://anpera.dyndns.org/phpbb3/ |
|
in der news.php die zeit anzeigen ? https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=2574 |
Seite 1 von 2 |
Autor: | Sir_No [ Fr 19 Mai, 2006 12:46 ] |
Betreff des Beitrags: | in der news.php die zeit anzeigen ? |
weiss jemand wie man es schafft bei den news die zeit mit einzubringen? ich mein damit das vor den news die reale zeit steht wann was passiert ist ich hoff ich hab es einigermassen verständlich geschrieben ![]() |
Autor: | Kevz [ Fr 19 Mai, 2006 14:19 ] |
Betreff des Beitrags: | |
In wie fern? Ein kleines bsp bitte... |
Autor: | Eliwood [ Fr 19 Mai, 2006 15:00 ] |
Betreff des Beitrags: | |
Ja. $this->bbcode_second_pass_code('', 'ALTER TABLE `news` CHANGE `newsdate` `newsdate` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'') Und dann bei der Ausgabe soetwas verwenden: [php]$timestamp = strtotime($row['newsdate']); output('('.date('h:i',$timestamp).' Uhr) ');[/php] |
Autor: | Sir_No [ Fr 19 Mai, 2006 18:16 ] |
Betreff des Beitrags: | |
hab das mal getestet ... entweder bin ich zu blöd oder ich hab es an einer falschen stelle eingebaut ... und die uhr zeigt 12:00 an ... immer ... nachdem ich es einbaute hatte ich keine newsmeldungen mehr in der news ![]() @ kevz .. so dachte ich mir das wie es in den täglichen news stehen soll : Zitat: (19:14Uhr) SonofOdin Bananas's zermatschter Körper lag in der Nähe des Sees bei der überwucherten Turmruine.
|
Autor: | Eliwood [ Fr 19 Mai, 2006 18:22 ] |
Betreff des Beitrags: | |
Okay, hab was vergessen: [php]$sql = "SELECT count(newsid) AS c FROM news WHERE newsdate='".date("Y-m-d",$timestamp)."'"; $result = db_query($sql); $row = db_fetch_assoc($result); $totaltoday=$row['c']; $pageoffset = (int)$_GET['page']; if ($pageoffset>0) $pageoffset--; $pageoffset*=$newsperpage; $sql = "SELECT * FROM news WHERE newsdate='".date("Y-m-d",$timestamp)."' ORDER BY newsid DESC LIMIT $pageoffset,$newsperpage";[/php] Erserteb mit [php]$sql = "SELECT count(newsid) AS c FROM news WHERE newsdate LIKE '".date("Y-m-d",$timestamp)."%'"; $result = db_query($sql); $row = db_fetch_assoc($result); $totaltoday=$row['c']; $pageoffset = (int)$_GET['page']; if ($pageoffset>0) $pageoffset--; $pageoffset*=$newsperpage; $sql = "SELECT * FROM news WHERE newsdate LIKE '".date("Y-m-d",$timestamp)."%' ORDER BY newsid DESC LIMIT $pageoffset,$newsperpage";[/php] |
Autor: | Sir_No [ Fr 19 Mai, 2006 18:42 ] |
Betreff des Beitrags: | |
hab ich gemacht ... nun sind die news wieder da ... nur mit der uhr stimmt was nicht die is immernoch auf 12:00 und steht nicht vor den meldungen ... screenshot source vom einbau |
Autor: | Eliwood [ Fr 19 Mai, 2006 19:38 ] |
Betreff des Beitrags: | |
Sir_No hat geschrieben: hab ich gemacht ... nun sind die news wieder da ... nur mit der uhr stimmt was nicht die is immernoch auf 12:00 und steht nicht vor den meldungen ...
screenshot source vom einbau Das mit den 12 Uhr: Logisch. Alle alten Einträge müssen da stehn weil sie keine Zeitangaben haben ![]() |
Autor: | Sir_No [ Sa 20 Mai, 2006 06:02 ] |
Betreff des Beitrags: | |
nö ![]() ich habe ebend nochmal in der arena gekämpft ... also neue einträge ... und die uhr steht genauso wie bei dem screenshot und darunter sind die einträge ohne uhrzeit und die uhr zeigt weiterhin 12:00 uhr an ![]() |
Autor: | Eliwood [ Sa 20 Mai, 2006 21:24 ] |
Betreff des Beitrags: | |
Okay... Ich schau nochmal drüber. Ich hab nie gesagt dass es Funktioniert, war eigentlich nur ne Anregung *g* Müsstest mal die Datenbankauszuüge anschauen welchen Wert "newsdate" jeweils hat. |
Autor: | Sir_No [ So 21 Mai, 2006 09:51 ] |
Betreff des Beitrags: | |
Eliwood hat geschrieben: Okay... Ich schau nochmal drüber. Ich hab nie gesagt dass es Funktioniert, war eigentlich nur ne Anregung *g*
das wär nett wenn du nochmal schauen könntest ![]() ich sagte ja auch nie das du schuld bist das es nich funktioniert *gg* |
Autor: | Montekar [ So 21 Mai, 2006 10:37 ] |
Betreff des Beitrags: | |
Ich glaub das ist ganz einfach: Änder doch einfach die Funktion addnews so, das der Text immer mit der Aktuellen Zeit verkettet wird... Ich glaube das geht EDIT: Ich gehe davon aus das du eine "Echtzeit-Anzeige-Funktion" hast EDIT 2: Aber da braucht man wohl nen kleinen DB Eintrag |
Autor: | Eliwood [ So 21 Mai, 2006 11:18 ] |
Betreff des Beitrags: | |
Eliwood hat geschrieben: Müsstest mal die Datenbankauszuüge anschauen welchen Wert "newsdate" jeweils hat.
Ich wollte mich schon immer selber zitieren *g* |
Autor: | Montekar [ Mo 22 Mai, 2006 09:04 ] |
Betreff des Beitrags: | |
evtl. kann man den Textstring auch mit der Zeit verketten, oder? also $test (weiß nicht wie das heißt) .="*Zeit*" |
Autor: | Kakerlake [ Mo 22 Mai, 2006 15:19 ] |
Betreff des Beitrags: | |
Hmm, ja sollte möglich sein: [php]$Nachrichtentext .= date("Y-m-d");[/php] Die Alternative wäre bei der Ausgabe der News noch ein [php].date("Y-m-d",$row[newsdate]).[/php] in die Ausgabe mit rein zu nehmen. Das ändern des Spaltentyps für newsdate sollte man sein lassen da ich da einige Scripts kenne in denen News direkt in die Datenbank geschrieben werden und zwar nach dem Standard ![]() PS: Elli, das kann so nicht funktionieren da weiterhin eine Variable vom Typ int (Ergebnis der Funktion time()) in die Datenbank geschrieben wird. Du erreichst dadurch lediglich das keine Informationen mehr in der Datenbank landen, alle bereits vorhandenen Daten hast du durch das Ändern des Spaltentyps sauber gelöscht. ![]() |
Autor: | Eliwood [ Mo 22 Mai, 2006 17:24 ] |
Betreff des Beitrags: | |
Kakerlake hat geschrieben: PS:
Elli, das kann so nicht funktionieren da weiterhin eine Variable vom Typ int (Ergebnis der Funktion time()) in die Datenbank geschrieben wird. Du erreichst dadurch lediglich das keine Informationen mehr in der Datenbank landen, alle bereits vorhandenen Daten hast du durch das Ändern des Spaltentyps sauber gelöscht. ![]() Soweit ich mich erinnern mag ist es ganz und gar nicht time(), sondern die MySQL-Funktion now(), die das Datum in die Spalte des Typs "date" einträgt. auf "datetime" geändert bleibt das Darum erhalten und now() müsste immernoch funktionieren (Nur halt + Zeit). Gelöscht is nix - Habs wundervoll getestet über dem pma. Nach Änderung des Spaltentyps blieb das Datum unverändert ![]() Deine Möglichkeit: date("Y-m-d",$row[newsdate]) wird aber garantiert nicht gehen. Da "newsdate" kein timestamp sondern das Zeitformat Y-m-d h:i:s ist liefert die Funktion ein schönes "false" zurück. Du musst zuerst den String mit strtotime() bearbeiten um auch einen timestamp zu bekommen ![]() |
Autor: | Kakerlake [ Mo 22 Mai, 2006 18:19 ] |
Betreff des Beitrags: | |
Hmmm, kommt davon wenn man privat Zeiten immer nur als int mit 8 Stellen speichert ![]() |
Autor: | Eliwood [ Mo 22 Mai, 2006 18:54 ] |
Betreff des Beitrags: | |
(Achja, mach dich lieber mal mit dem MySQL-Spaltentyp "timestamp" vertraut... Extra für timestamps vorgesehen und lassen sich wunderbar mit MySQL-Funktionen bearbeiten ![]() |
Autor: | Montekar [ Do 25 Mai, 2006 19:39 ] |
Betreff des Beitrags: | |
Hier ist die modifizierte Funktion addnews: [php]function addnews($news) { $time=date("G:i",strtotime(date("r")."")); $news.=" `0(".$time.")"; global $session; $sql = "INSERT INTO news(newstext,newsdate,accountid) VALUES ('".addslashes($news)."',NOW(),".$session[user][acctid].")"; return db_query($sql) or die(db_error($link)); }[/php] |
Autor: | Eliwood [ Do 25 Mai, 2006 19:53 ] |
Betreff des Beitrags: | |
... [php]function addnews($news) { $time=date("H:i",time()); $news = "`0(".$time.")".$news.'`0'; global $session; $sql = "INSERT INTO news(newstext,newsdate,accountid) VALUES ('".addslashes($news)."',NOW(),".$session[user][acctid].")"; return db_query($sql) or die(db_error($link)); } [/php] So wohl eher ![]() |
Autor: | Montekar [ Fr 26 Mai, 2006 06:52 ] |
Betreff des Beitrags: | |
ööööhm... Warum? Meine geht auch... |
Seite 1 von 2 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |