/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
måned dag år til unixtimeformat
Fra : Henning Hansen


Dato : 25-03-04 19:18

Jeg har en tabel med et felt hvor et tidspunkt er gemt som måned dag,
år (PHP format M d,Y) det vil jeg gerne konverteret til
unixtimeformat... JEg har kigget lidt på UNIX_TIMESTAMP(date) men kan
ikke rigtig få det til at virke?
ER der en der kan hjælpe mig?

 
 
Troels Arvin (25-03-2004)
Kommentar
Fra : Troels Arvin


Dato : 25-03-04 19:21

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?

> ER der en der kan hjælpe mig?

Det er en god idé eksplicit at skrive, hvilket databasesystem
spørgsmålet vedrører.

--
Greetings from Troels Arvin, Copenhagen, Denmark


Henning Hansen (25-03-2004)
Kommentar
Fra : Henning Hansen


Dato : 25-03-04 23:57

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 ";



Kristian Damm Jensen (26-03-2004)
Kommentar
Fra : Kristian Damm Jensen


Dato : 26-03-04 12:47

Henning Hansen wrote:
> 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.

Skidt idé. Har du mulighed for at ændre databasedesignet, så feltet bliver
datetime?

> 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.

Du mener, at det samme felt kan tolkes på to forskellige måder? At nogen
gange er værdien en "M d, Y" og andre gange en unixtime? *Meget* skidt idé.

<snip>

--
Kristian Damm Jensen damm (at) ofir (dot) dk
Life is what happens to you while you're busy making other plans. --
John Lennon


Henning Hansen (26-03-2004)
Kommentar
Fra : Henning Hansen


Dato : 26-03-04 23:58

On Fri, 26 Mar 2004 12:46:45 +0100, "Kristian Damm Jensen"
<REdammMOVE@ofir.dk> wrote:

>Du mener, at det samme felt kan tolkes på to forskellige måder? At nogen
>gange er værdien en "M d, Y" og andre gange en unixtime? *Meget* skidt idé.

Ja men nu er skaden sket, at der i samme felt er blevet ændret fra
string repræsentation (date) og til unix heltal (time).
Så scriptet skal bare rette op på tingenes tilstand ved at konvertere
de data der ligger på M d,Y formen til et heltal. Og scriptet
fungerede godt nok, når jeg bare får trukket de data med M d,Y formen
ud.

Iøvrigt tak for svarene.


Søg
Reklame
Statistik
Spørgsmål : 177493
Tips : 31966
Nyheder : 719565
Indlæg : 6408479
Brugere : 218886

Månedens bedste
Årets bedste
Sidste års bedste