time stamp

Status
Niet open voor verdere reacties.

parisdiesel

Gebruiker
Lid geworden
15 nov 2008
Berichten
94
Hallo forumlezers,
Hoe kan ik mijn query werkend krijgen? onderstaande query werkt niet.
Het is de bedoeling dat alleen de programma's die naar now() geladen worden.
$result=mysql_query("SELECT * FROM programmes where channel='Rtl 4' and unix_timestamp(stamp) >= unix_timestamp(now()) ORDER BY id ASC",$link);
 
UNIX_TIMESTAMP( NOW() ) is niet nodig, dat is namelijk de default.

Wat zit er in stamp? Is dat een geldige date-time, of is dat al in de vorm van een getal? Want als dat al een getal is, kun je er niet de UNIX_TIMESTAMP van berekenen.
 
Het datatype TIMESTAMP in MySQL hoeft niet gelijk te zijn aan een UNIX-timestamp.
In MySQL 4.1+ kan een TIMESTAMP prima 2010-04-20 00:25:00 zijn.

Wat je dus eigenlijk doet is een PHP-timestamp in je database zetten? Correct?

Ik verplaats deze even naar de SQL-sectie
 
Het datatype TIMESTAMP in MySQL hoeft niet gelijk te zijn aan een UNIX-timestamp.
In MySQL 4.1+ kan een TIMESTAMP prima 2010-04-20 00:25:00 zijn.

Wat je dus eigenlijk doet is een PHP-timestamp in je database zetten? Correct?

Ik verplaats deze even naar de SQL-sectie

Ja, dat staat er al in de php timestamp, maar nu wil ik dat met een qeury er uithalen zie post van mij hier boven. maar hoe dat ik dit?
 
Op zo'n timestamp kun je geen MySQL-DATETIME-functies toepassen.

Als je een geldige MySQL TIMESTAMP er in opslaat kan dat wel.
 
Dit is een vande timestamps die is opgeslagen 1271775600, wat voor query moet ik maken om de programma's die na de tijd stamp now() te laten zien.
 
Wat bedoel je exact?

Wanneer je het veld als "TIMESTAMP" hebt insteld kun je de huidige datum via zo'n query toevoegen.

[sql]
INSERT INTO table (
date
) VALUES (
NOW()
)[/sql]

Oude waardes kun je wellicht via deze query aanpassen
[sql]
UPDATE table SET
date = FROM_UNIXTIME(date)
[/sql]
LET OP! NIET GETEST, DOE DIT EERST IN EEN TIJDELIJKE TABEL
 
Als ik dit topic zo doorlees denk ik dat je dit zoekt:
PHP:
$result=mysql_query("SELECT * FROM programmes where channel='Rtl 4' and stamp >= unix_timestamp(now()) ORDER BY id ASC",$link);
Aangezien de kolom stamp al een unixtime bevat hoef je daar niet nog een keer de functie unix_timestamp() omheen te zetten. De functie now() is een 'gewone' tijdsnotatie, dus die moet je dan eerst omzetten naar unixtime voordat je deze met de kolom stamp kunt vergelijken. Kortom, vergelijk unixtime met unixtime en gewone tijden met gewone tijden, niet door elkaar heen ;). Succes!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan