mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 04.10.2024 02:24 Benutzername: Passwort: Auto-Login

Thema: datum und uhrzeit eintragen in feld "datetime" in datenbank vom 03.11.2008


Neues Thema eröffnen   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. MGi Foren-Übersicht -> Programmierung -> datum und uhrzeit eintragen in feld "datetime" in datenbank
Seite: 1, 2, 3, 4, 5  Weiter
Autor Nachricht
hoplite
Threadersteller

Dabei seit: 12.07.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Mo 03.11.2008 13:27
Titel

datum und uhrzeit eintragen in feld "datetime" in

Antworten mit Zitat Zum Seitenanfang

hi,

habe grad ein ziemlich nerviges problem an dem ich nun auch schon seit einer woche sitze. es geht um eine texteingabemaske, mit der seitenuser texte hochladen können. hier wird eigentlich datum und uhrzeit gespeichert in einer mysql-datenbank, in einem feld "datetime". aber hier tritt das problem auf: das datum wird richtig gespeichert, nur die uhrzeit ist immer bei 00:00, sieht dann als ergebniss zb. so aus: 03-11-08 00:00

das blöde ist, das ganze ist innerhalb einer typo3-extension verpackt, weswegen es 1. nicht ganz leicht ist selber durchzusteigen, wie die abläufe programmiert sind und 2. da die ext scheinbar ncith sehr verbreitet ist und auch der author bisher nciht zu erreichen war, da kompetete unterstützung zu bekommen.
habe mittlerweile in der php-datei der ext den teil gefunden, wo die datenbankl beschrieben wird:

Code:
 if (strlen($row['crdate'])<1) {

                        $row['datetime'] = date('d.m.Y',time('H:i'));
                       
                        $row['related'] = '942';

                        $row['tstamp'] = $timestamp = time(d.m.Y);


                }


es geht wie man ja sieht um die zweite zeile (anderen beiden teastweise, funktionieren). bei diesem beispiel wird das richtige datum und als uhrzeit generell 00:00 eingetragen. wenn ich die zeile ändere in $row['datetime'] = time();
wird in "datetime" garnichts! eingetragen. bin nun etwas ratlos... es geht mir eigentlich nur darum, das das feld datetime richtig gefüllt wird, kann von mir aus auch ne "dirty" lösung sein, solange es funktioniert. hat jemand eine idee?

THX & LG
  View user's profile Private Nachricht senden
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 51
Geschlecht: Männlich
Verfasst Mo 03.11.2008 13:34
Titel

Antworten mit Zitat Zum Seitenanfang

und wo wird da ne db beschrieben? das query was abgesetzt wird, wäre für eine passende antwort auch noch wichtig... *zwinker*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
Pixelpole

Dabei seit: 25.10.2004
Ort: Trier
Alter: 38
Geschlecht: Männlich
Verfasst Mo 03.11.2008 13:41
Titel

Antworten mit Zitat Zum Seitenanfang

* Wo bin ich? * * Wo bin ich? * * Wo bin ich? *

Ach du kacke...

probier das mal so:

Code:


if (strlen($row['crdate'])<1) {

                        $row['datetime'] = date('d.m.Y H:i');
                       
                        $row['related'] = '942';

                        $row['tstamp'] = $timestamp = time();


                }


Wofür wird eigentlich die Variable $timestamp gebraucht? ist es unbedingt notwendig diese noch zu erstellen?

schau dir mal in der doku an was der befehl time macht *zwinker*

mir ist auch nicht klar wieso man timestamp und datetime speichert?

Wer auch immer diese extension geschrieben hat...NEHMT IHM UM GOTTES WILLEN DIE TASTATUR WEG!

@pixelpapst: sieh dir mal den code an. Da scheitert es schon übelst an der Variablenfüllung...


Zuletzt bearbeitet von Pixelpole am Mo 03.11.2008 13:43, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 51
Geschlecht: Männlich
Verfasst Mo 03.11.2008 13:44
Titel

Antworten mit Zitat Zum Seitenanfang

Pixelpole hat geschrieben:

@pixelpapst: sieh dir mal den code an. Da scheitert es schon übelst an der Variablenfüllung...


glatt übersehen,.... * Wo bin ich? *
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
hoplite
Threadersteller

Dabei seit: 12.07.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Mo 03.11.2008 13:48
Titel

Antworten mit Zitat Zum Seitenanfang

hi,

@pp da bin ich überfragt. hier mal die komplette php (ist relativ kurz)
Code:
require_once(t3lib_extMgm::extPath('sg_zfelib').'class.tx_sgzfelib.php');

require_once(t3lib_extMgm::extPath('sg_zfelib').'class.txsg_pibase.php');



class tx_sgnewsplus_pi1 extends txsg_pibase {

    var $prefixId = "tx_sgnewsplus_pi1";        // Same as class name

    var $scriptRelPath = "pi1/class.tx_sgnewsplus_pi1.php";    // Path to this script relative to the extension dir.

    var $extKey = "sg_newsplus";    // The extension key.

    var $importName = 'news_import';

        var $mainTable = 'tt_news';

        var $mainJoin = ''; //', tx_sgdb_region.name AS regionname, tx_sgdb_rating.rating AS ratingname';

        var $mainJoinTable = ''; //' LEFT JOIN tx_sgdb_cc ON tx_sgaddress_address.country=tx_sgdb_cc.uid  LEFT JOIN tx_sgdb_region ON tx_sgaddress_address.region=tx_sgdb_region.uid  LEFT JOIN tx_sgdb_rating ON tx_sgaddress_address.rating=tx_sgdb_rating.uid';

        var $catTable = 'tt_news_cat';

        var $subcatTable = '';

        var $winName = 'News';



        /**

         * [Describe function...]

         *

         * @param        [type]                $pluginMode: ...

         * @return        [type]                ...

         */

        function switchPluginMode ($pluginMode) {

                $tmp = t3lib_div::GPvar('tx_ttnews');

                if (is_array($tmp)) {

                        //t3lib_div::debug(Array('set ?'=>t3lib_div::GPvar('tx_ttnews'), 'File:Line'=>__FILE__.':'.__LINE__));

                        if (intval($tmp['tt_news'])>0) {

                                $GLOBALS['_POST']['todo']['uid'] = $tmp['tt_news'];

                                $GLOBALS['_GET']['uid'] = $tmp['tt_news'];

                                $this->PCA['todo']['Uid'] = $tmp['tt_news'];

                        }

                        if (intval($tmp['backPid'])>0) {

                                //t3lib_div::debug(Array('referrer'=>t3lib_div::getIndpEnv('HTTP_REFERER'), 'File:Line'=>__FILE__.':'.__LINE__));

                                $this->PCA['todo']['BackUrl'] = t3lib_div::getIndpEnv('HTTP_REFERER');

                        }

                }

                return (parent::switchPluginMode ($pluginMode));

        }



        function localCheckDbRowForSave ($dbName,&$row,&$PCA,&$errors) {

                $errorMode = false;



                if (strlen($row['crdate'])<1) {

                        $row['datetime'] = date('d.m.Y',time('H:i'));
                       
                        $row['related'] = '942';

                        $row['tstamp'] = time(d.m.Y);


                }

                if (strlen($row['datetime'])<1) {

                        if (strlen($row['starttime'])<1) {

                                $row['datetime'] = $row['crdate'];

                        } else {

                                $row['datetime'] = $row['starttime'];

                        }

                }

                if (strlen($row['archivedate'])<1) {

                        $row['archivedate'] = date('d.m.Y',mktime(0, 0, 0, date("m",time())+1, date("d",time()),   date("Y",time())) );

                }

                return ($errorMode);

        }





}







if (defined("TYPO3_MODE") && $TYPO3_CONF_VARS[TYPO3_MODE]["XCLASS"]["ext/sg_newsplus/pi1/class.tx_sgnewsplus_pi1.php"])    {

    include_once($TYPO3_CONF_VARS[TYPO3_MODE]["XCLASS"]["ext/sg_newsplus/pi1/class.tx_sgnewsplus_pi1.php"]);

}



@pixelpole danke für deine antwort. leider funktioniert es mit dem beispiel auch nicht. die line mit tstamp hab ich wie schon geschrieben nachträglich selber zum testen hinzugefügt.


Zuletzt bearbeitet von hoplite am Mo 03.11.2008 13:50, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Pixelpole

Dabei seit: 25.10.2004
Ort: Trier
Alter: 38
Geschlecht: Männlich
Verfasst Mo 03.11.2008 13:57
Titel

Antworten mit Zitat Zum Seitenanfang

hmm,

ich kenne mich jetzt leidern nicht sonderlich mit Typo3 aus und weiss daher nicht wie das ganze extensionsystem funktioniert.

setz mal bitte diese Zeile vor die zeile mit return $errorMode:

Zitat:

print_r($row);


Und poste mal was ausgeben wird.
  View user's profile Private Nachricht senden
hoplite
Threadersteller

Dabei seit: 12.07.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Mo 03.11.2008 14:06
Titel

Antworten mit Zitat Zum Seitenanfang

ok, hab ich eingefügt, hier die ausgabe:
Code:
Array ( [hidden] => 1 [author] => GermanBlogga [author_email] => [type] => 0 [layout] => 0 [category] => 277 [title] => ugugui [abstract] => [short] => iughiugu [bodytext] => gzugzu [starttime] => [archivedate] => 02.01.2009 [endtime] => [image] => [imagecaption] => [banner] => [bannerlinks] => [news_files] => [related] => )
Warning: Cannot modify header information - headers already sent by (output started at /kunden/host.com/xxx/xxx/xxx/typo3conf/ext/sg_newsplus/pi1/class.tx_sgnewsplus_pi1.php:138) in /kunden/host.com/xxx/xxx/xxx/typo3/sysext/cms/tslib/class.tslib_fe.php on line 2898
  View user's profile Private Nachricht senden
hoplite
Threadersteller

Dabei seit: 12.07.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Mo 03.11.2008 14:17
Titel

Antworten mit Zitat Zum Seitenanfang

was mich wundert ist das das feld "datetime" gar nicht aufgelistet wird.
  View user's profile Private Nachricht senden
 
Ähnliche Themen [Programmierung] Uhrzeit und Datum als Text einbinden
Datum automatisch eintragen
XML Schnittstelle in mysql Datenbank eintragen
Auswahlliste mit Mehrfachauswahl in Datenbank eintragen
PDF - Datum aus Feld auslesen und weiterrechnen...
zu kleines Feld in strato-Datenbank
Neues Thema eröffnen   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Seite: 1, 2, 3, 4, 5  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.