Det er meningen at DATE skal genereres automatisk og derefter ECHOES ud senere som du ser. Måske er det ikke den rette tilgang, hvorfor jeg spørger her :0)
Har desuden forsøgt med NOW() istedet for $NOW(), men uden noget brugbart resultat.
CREATE TABLE `nyhed` ( `id` int(11) NOT NULL auto_increment, `date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, `overskrift` tinytext NOT NULL, `tekst` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=15 ;
-- -- Dumping data for table `nyhed` --
INSERT INTO `nyhed` (`id`, `date`, `overskrift`, `tekst`) VALUES (1, '2007-05-17 00:00:00', 'Vi har fået webside', 'Endelig kom vores nye webside på benene og kan nu benyttes til at indhente information, vi håber naturligvis at siden vil blive brugt flittigt.'), (2, '2007-05-17 00:00:00', 'Websiden udkommet', 'Nu ligger websiden online og kan herefter benyttes og vi håber den vil vække stor glæde.');
/////////// NY sql dump med forkert output //////////// -- Struktur-dump for tabellen `nyhed` --
CREATE TABLE `nyhed` ( `id` int(11) NOT NULL auto_increment, `date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, `overskrift` tinytext NOT NULL, `tekst` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=16 ;
-- -- Data dump for tabellen `nyhed` --
INSERT INTO `nyhed` (`id`, `date`, `overskrift`, `tekst`) VALUES (1, '2007-05-17 00:00:00', 'Vi har fået webside', 'Endelig kom vores nye webside på benene og kan nu benyttes til at indhente information, vi håber naturligvis at siden vil blive brugt flittigt.'), (2, '2007-05-17 00:00:00', 'Websiden udkommet', 'Nu ligger websiden online og kan herefter benyttes og vi håber den vil vække stor glæde.'), (15, '0000-00-00 00:00:00', 'Tester nyheder', 'Dette er blot en test, for at vise timestamp');
//////////// slut SQL dump ////////////////////////
Din 0000-00-00 00:00:00 ved id 15 skyldes sikkert at du har prøvet med $NOW(), som den ikke kan finde ud af, og derfor sætter 0000-00-00 00:00:00 ind istedet. Den der CURRENT_TIMESTAMP har jeg aldrig fået til at virke rigtigt.
Der er to ting du kan ændre så det bliver lettere for dig selv.
Når du henter dine rækker ud kan du med det samme formatere datoen som du gerne vil have den. Det kan du gøre sådan: $query = mysql_query ("SELECT date_format(`date`, '%d/%m-%Y') as 'dato' FROM nyhed ORDER BY id DESC limit $vis_fra, $pr_side") or die(mysql_error());
Hmm kom vist til at trykke send, prøver igen: Din 0000-00-00 00:00:00 ved id 15 skyldes sikkert at du har prøvet med $NOW(), som den ikke kan finde ud af, og derfor sætter 0000-00-00 00:00:00 ind istedet. Den der CURRENT_TIMESTAMP har jeg aldrig fået til at virke rigtigt.
Der er to ting du kan ændre så det bliver lettere for dig selv.
Når du henter dine rækker ud kan du med det samme formatere datoen som du gerne vil have den. Det kan du gøre sådan: $query = mysql_query ("SELECT date_format(`date`, '%d/%m-%Y') as 'dato', overskrift, tekst FROM nyhed ORDER BY id DESC limit $vis_fra, $pr_side") or die(mysql_error());
Og istedet for: date("d/m-Y", strtotime($data['date'])) skriver du: $data['dato']
Det vil vel stadig ikke give nogen løsning på mit problem med at INSERTE en dato automatisk i min db?
Jvf.: $query="INSERT INTO nyhed (date,overskrift,tekst) VALUES ('$NOW()','$overskrift','$tekst')"; mysql_query($query); echo "Nyheden er nu lagt i databasen!<br />"; echo "<a href=\"nyhederne.php\">Tilbage til nyhederne</a>"; }
Nej men din insert er jo også forkert, det skal stadig være: $query="INSERT INTO nyhed (`date`,overskrift,tekst) VALUES ( NOW(),'$overskrift','$tekst')";
Du kan evt tilføje lidt kode for lige at tjekke på hvad den har indsat ved:
$TjekSQL = "SELECT * FROM nyhed WHERE id=".mysql_insert_id(); $TjekQuery = mysql_query( $TjekSQL ) or die(mysql_error()); $TjekData = mysql_fetch_assoc( $TjekQuery );
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.