"Mikkel Christensen" <barefoot@jaha.dk> skrev i en meddelelse
news:av276e$n2l$1@news.cybercity.dk...
> "Asbjørn Sloth Tønnesen" <ONGLDSFPKWPX@spammotel.com> skrev i en
meddelelse
> news:IS0R9.23647$Hl6.2445225@news010.worldonline.dk...
> > "Mikkel Christensen" <barefoot@jaha.dk> skrev i en meddelelse
> > news:av21cf$ec9$1@news.cybercity.dk...
> > > "Asbjørn Sloth Tønnesen" <ONGLDSFPKWPX@spammotel.com> skrev i en
> > meddelelse
> > > news:g7_Q9.22916$Hl6.2408454@news010.worldonline.dk...
> > > > > > Ulemper ved overstående
> > > > > > 1) Hvis man opdaterer recorden uden at sætte
> > > birthdate=birthdate
> > > > > > manuelt, bliver birthdate rettet til dags dato
> > > > >
> > > > > ahva?
> > > >
> > > >
http://www.mysql.com/doc/en/DATETIME.html
> > > >
> > >
> > > Kan du ikke kopiere det citat du hentyder til her ind i så jeg skal
læse
> > > hele dokumentationen?
> > > Du ved jo sikkert hvor det står:)
> >
> > Du bad selv om det
>
> Eh ja selvfølgelig gjorde jeg det.
> Det er da noget lettere end at jeg skal sidde og finde det selv.
> Du ved jo hvór det står.
>
> > The TIMESTAMP column type provides a type that you can use to
> automatically
> > mark INSERT or UPDATE operations with the current date and time. If you
> have
> > multiple TIMESTAMP columns, only the first one is updated automatically.
> >
> > Automatic updating of the first TIMESTAMP column occurs under any of the
> > following conditions:
> >
> > a.. The column is not specified explicitly in an INSERT or LOAD DATA
> > INFILE statement.
> > b.. The column is not specified explicitly in an UPDATE statement and
> some
> > other column changes value. (Note that an UPDATE that sets a column to
the
> > value it already has will not cause the TIMESTAMP column to be updated,
> > because if you set a column to its current value, MySQL ignores the
update
> > for efficiency.)
> > c.. You explicitly set the TIMESTAMP column to NULL.
> > TIMESTAMP columns other than the first may also be set to the current
date
> > and time. Just set the column to NULL or to NOW().
> >
> > You can set any TIMESTAMP column to a value different from the current
> date
> > and time by setting it explicitly to the desired value. This is true
even
> > for the first TIMESTAMP column. You can use this property if, for
example,
> > you want a TIMESTAMP to be set to the current date and time when you
> create
> > a row, but not to be changed whenever the row is updated later:
> >
> > a.. Let MySQL set the column when the row is created. This will
> initialise
> > it to the current date and time.
> > b.. When you perform subsequent updates to other columns in the row,
set
> > the TIMESTAMP column explicitly to its current value.
> > On the other hand, you may find it just as easy to use a DATETIME column
> > that you initialise to NOW() when the row is created and leave alone for
> > subsequent updates
> >
>
> Okay, så misforstår vi hinanden.
> Det jeg mener med unix timestamp er hvor du genererer en timestamp med
> f.eks. PHP og gemmer den i et integer felt.
> Der har man mere kontrol over hvordan den opfører sig.
>
> Og du snakker tydeligvis om en kolonne type i mysql.
Korrekt
> > > > > TIMESTAMP values may range from the beginning of
> > > > > 1970 to sometime in the year 2037, with a resolution
> > > > > of one second. Values are displayed as numbers.
> > >
> > > Det er muligt mysql's timestamp fungerer sådan.
> > > Men det er en unix timestamp genereret af PHP og den kan sagtens
antage
> > > negative værdier.
> > > Jeg har lige testet det for at være sikker.(PHP v.4.2.3)
> >
> > $a=mktime (0,0,0,1,1,50);
> > echo date ("M-d-Y", $a);
> > = Warning: unexpected error in date() in
> c:\htdocs\local\test\timestamp.php
> > on line 3
>
> Mit eksempel ser sådan ud:
> --> <?php
> --> $d = mktime(0, 0, 0, 1, 1, 1930);
> --> echo $d."\n";
> --> echo date("d-m-Y", $d);
> --> ?>
>
> Det giver følgende output i PHP 4.2.3:
>
> --> -1262307600
> --> 01-01-1930
<?
$a=mktime (0,0,0,1,1,68);
echo date ("M-d-Y", $a);
$d = mktime(0, 0, 0, 1, 1, 1930);
echo $d."\n";
echo date("d-m-Y", $d);
?>
gir
Warning: unexpected error in date() in c:\htdocs\local\test\timestamp.php on
line 3
-1
Warning: unexpected error in date() in c:\htdocs\local\test\timestamp.php on
line 7
med php version 4.2.2
Kan ikke lige finde det i change logen (fra 4.2.2 til 4.2.3)
http://www.php.net/ChangeLog-4.php#4.2.3
>
> > Mysql's timestamp er et unix timestamp. Jeg vil anbefale dig at køre
> > datoerne 100% i mysql's date som kan indeholde 1000-01-01 til 9999-12-31
> >
> >
http://mbn.dk/MySQL/dato/
>
> Det er meget fint med al den modvisende dokumentation, men faktum er at
det
> virker når jeg tester det:)
> Det er meget muligt det er fordi de links du henviser til bruger php af
> ældre dato.
> Eller også er det ikke en dokumenteret effekt jeg får ud af det.
>
> > > > > > mysql_reault() står ikke i manualen. Google kan ikke finde noget
> om
> > > den.
> > > > > >
> > > > > Det er fordi den hedder mysql_result()
> > > > >
http://php.net/mysql_result
> > > >
> > > > smart funktion, men jeg foretrækker nu bare $result[0][0] i stedet
for
> > > > mysql_result($result, 0)
> > > >
> > >
> > > Hvordan skal dette forstås?:
> > >
> > > $result[0][0]
> > læs noget om arrays
> >
> >
http://www.php.net/manual/sl/language.types.array.php#AEN4181
> >
>
> Jeg kender udemærket til brugen af arrays.
> Men mysql_query() returnerer en mysql-ressource-id som mig bekendt ikke
kan
> behandles som et multidimentionalt array, sådan som du gør i eksemplet.
>
> Du danner din variabel $result på følgende måde:
> $result = mysql_query('SELECT COUNT(*) FROM tabel LIMIT 1');
>
> Derefter vælger jeg at hente resultatet ud med mysql_result():
> $count = mysql_result($result, 0);
>
> Og du skriver efterfølgende at du foretrækker bare at skrive:
> $count = $result[0][0];
>
> Hvis du kan gøre således kræver det at $result er et multidimentionalt
array
> som indeholder de data forespørgslen returnerede, såfremt den returnerede
> noget.
> Mig bekendt kan det ikke lade sig gøre da mysql_query() ikke returnerer et
> multidementionalt array, men et ressource id.
> Ihvertfald ikke i den mysql 3.23 jeg har adgang til.
Ok, du har ret grunden til at jeg bruger $result[0][0] er at jeg bruger en
DBklasse som returnere et multidimentionalt array, sorry.