Hoi,

Ik heb voor mijn weblog en gastenboek in de database 2 kollommen gemaakt, namelijk datum en tijd. Voor beiden 2 kollommen dus. En nu lees ik overal dat als je NOW() gebruikt in de SQL query dit veel makkelijker is.

Nu moet ik dus 1 kolom verwijderen en de andere veranderen naar NOW(). Maar dan kom ik met mijn oude gegevens in de knoop. Hoe kan ik dit het beste oplossen? Of gewoon niet?

Format voor datum is bijv.: 13 april 2007
Format voor tijd is bijv.: 13:47:09

Groeten,
Marnix
Waarom gebruik je niet gewoon een datetime veld in je database ?
Dat doe ik dus niet omdat toen ik het maakte ik er nog niet van af wist. Maar ik wil het dus veranderen in iets simpelers vraag me af hoe dat makkelijk kan zonder al te veel werk. Ik heb geen zin om ongeveer 200 rijen aan te passen. :S
Als je NOW gebruikt word in de desbetreffende kolom de huidige datum/tijd geschreven. Maar begrijp ik nu goed dat je het zonder veel moeite terug wilt brengen naar 1 kolom ?
En zijn de huidige kolommen op dit moment dan een date en een time kolom ?
Nee dit zijn gewoon VARCHAR kolommen en de data en tijden zijn erin gezet met PHP.

Nu begrijp ik dat NOW() en DATE/TIME een verschillend iets is?
Een nieuw (derde) veld maken. Met een query de eerste en tweede veld samenvoegen tot een fatsoenlijk geheel en in het derde veld zetten. Daarna kunnen de eerste en tweede velden weg.

Edit: Typo.
date en datetime zijn kolomtypen, met now kun je een bepaald veld de huidige datum geven.

Voor je probleem: SanThe heeft een goed begin gemaakt, en op zich is het ook niet zo moeilijk.

Maak dus eerst die derde kolom aan, en kijk hoe het datum formaat eruit moeten komen zien, dan maak je dus ff een scriptje wat de datums /tijden ophaalt, plak ze aan elkaar en voor dat in een derde kolom in.
Hmmm dank je! Dat ga ik proberen!

Edit: moet ik dat derde veld dan een DATETIME veld maken?
Marnix schreef op 23.04.2007 20:31
Hmmm dank je! Dat ga ik proberen!

Edit: moet ik dat derde veld dan een DATETIME veld maken?


Yap
Zoals bij de eerste post beschreven bijv.: 04 december 2006

Ik heb nu dit:

<?php
include '../connect.php';

function replaceMaanden($value)
{
	$value = str_replace("januari", "01", $value);
	$value = str_replace("februari", "02", $value);
	$value = str_replace("maart", "03", $value);
	$value = str_replace("april", "04", $value);
	$value = str_replace("mei", "05", $value);
	$value = str_replace("juni", "06", $value);
	$value = str_replace("juli", "07", $value);
	$value = str_replace("augustus", "08", $value);
	$value = str_replace("september", "09", $value);
	$value = str_replace("oktober", "10", $value);
	$value = str_replace("november", "11", $value);
	$value = str_replace("december", "12", $value);
	
	return $value;
}

$items = mysql_query("SELECT datum, tijd FROM weblog ORDER BY id DESC LIMIT 0,5");

while($item = mysql_fetch_array($items))
{
	$datum = explode(" ", $item['datum']);
	$datum[1] = replaceMaanden($datum[1]);
	$datum =  $datum[0] . "-" . $datum[1] . "-" . $datum[2];
	$gegevens = $datum . " " . $item['tijd'];
	
	$query = "UPDATE weblog SET test = '$gegevens' LIMIT 0,1";
	
	echo $query . "<br />\n";
	
	//mysql_query($query) or die( mysql_error() );
}

?> 


En nee ik voer de query nog niet uit, 'k wil eerst alles dubbelchecken. :)

Reageren