On Thu, 25 Mar 2004 19:20:57 +0100, Troels Arvin <troels@arvin.dk>
wrote:
>On Thu, 25 Mar 2004 19:17:44 +0100, Henning Hansen wrote:
>
>> Jeg har en tabel med et felt hvor et tidspunkt er gemt som måned dag, år
>> (PHP format M d,Y)
>
>Hvad er datatypen for feltet? Som du beskriver det, lyder det som en CHAR
>eller VARCHAR. Kan det virkelig være sandt?
Ja det er en varchar(20) - det er brugertabellen i et CMS system der
hedder Postnuke.
>
>> ER der en der kan hjælpe mig?
>
>Det er en god idé eksplicit at skrive, hvilket databasesystem
>spørgsmålet vedrører.
Det er mysql på en linux maskine.
Jeg har brygget noget sammen der virker men ikke særligt elegant. Jeg
mangler noget til at styre om det er et felt der indeholder M d, Y
eller det indeholder unixtime, så man ikke skal sidde og tælle.
Prøvede så at sortere så alle M d, Y felterne kom først og så kun
ændre på disse. Det hele lavet i PHP ($tablename bliver sat samtidig
med db konstanterne, tidligere i scriptet) pn_user_regdate er det felt
der skal konverteres.
/* go */
$sql = "SELECT pn_uid, pn_uname, pn_user_regdate from $tablename where
pn_uid < antal_der_ikke_er_unixtime";
$result = mysql_query($sql);
if(!$result) {
echo mysql_errno(). ": ".mysql_error(). "<br>";
}
while(list($pn_uid, $pn_uname, $pn_user_regdate) =
mysql_fetch_array($result)) {
$string2time=strtotime($pn_user_regdate);
//Udskriver som kontrol
echo $pn_uid." ".$pn_uname." ".$pn_user_regdate."
".$string2time."<br>";
$sql = "UPDATE $tablename SET pn_user_regdate=$string2time
where pn_uid='$pn_uid'";
$update = mysql_query($sql);
if(!$update) {
echo mysql_errno(). ": ".mysql_error(). "<br>";
}
}
echo "Done
";