Hej alla glada!
Just nu använder jag följande kod för att spara nyheter i min databas.
mysql_query("Insert Into nyheter(
datum, //datetime
titel,
info,
webb)
Values(
'".$_POST['titel']."',
'".$_POST['info']."',
'".$_POST['webb']."', now())")or die(mysql_error());
..men då webbhotellet ligger i Los Angeles, får jag därför fel "tid".
Hur kan jag lägga till/dra ifrån x antal timmar från ovanstående kod.
MatteMedlem sedan aug. 20002 975 inlägg Det borde gå att göra typ:
mysql_query("Insert Into nyheter(
datum, //datetime
titel,
info,
webb)
Values(
'".$_POST['titel']."',
'".$_POST['info']."',
'".$_POST['webb']."', DATE_ADD(NOW(), INTERVAL 8 HOUR))")or die(mysql_error());
Matte skrev:
Det borde gå att göra typ:
mysql_query("Insert Into nyheter(
datum, //datetime
titel,
info,
webb)
Values(
'".$_POST['titel']."',
'".$_POST['info']."',
'".$_POST['webb']."', DATE_ADD(NOW(), INTERVAL 8 HOUR))")or die(mysql_error());
Ok, tack.
Ska genast testa. :p
EDIT: Njae, det slog fel på 1 timme, men annars verkar det fungera.
The_HulkMedlem sedan juni 20031 837 inlägg har du inte fel ordning på dina fält?
du säger att du vill lägga in datum först men har den sist bland värdena?
The_HulkMedlem sedan juni 20031 837 inlägg LA är väl GMT -8, vi är GMT + 1
MatteMedlem sedan aug. 20002 975 inlägg
Guldstrand skrev:
EDIT: Njae, det slog fel på 1 timme, men annars verkar det fungera.
Testa då med INTERVAL 9 HOUR eller INTERVAL 7 HOUR.
Matte skrev:
Testa då med INTERVAL 9 HOUR eller INTERVAL 7 HOUR.
Jag testade med "INTERVAL 9 HOUR", och det fungerade kanon.
Synd bara att det inte fanns någon annan lösning som kunde "omvandla/formatera" alla andra poster som redan finns sparade databasen till RÄTT datum.
MatteMedlem sedan aug. 20002 975 inlägg Kör då INTERVAL när du hämtar, och låt servern lagra sin aktuella tid.
Njae, tror jag väljer att spara med RÄTT datum direkt istället. ;)
Nu till en annan fråga...
Går det att spara datumet när en post ändrades/uppdateras på samma sätt som när jag sparar en ny post!?
Detta är min "ändrings-funktion" i nuläget:
move_uploaded_file($_FILES['artist_foto']['tmp_name'], "artist_foto/artist_foto_".$_GET['id'].$ext);
mysql_query("Update artister Set
anamn='".$_POST['anamn']."',
fnamn='".$_POST['fnamn']."',
birthday='".$_POST['birthday']."',
formed='".$_POST['formed']."',
land='".$_POST['land']."',
kat_id='".$_POST['kat_id']."',
info='".$_POST['info']."',
webb='".$_POST['webb']."',
artist_foto='artist_foto_".$_GET['id']."$ext'
Where id='".$_GET['id']."'")or die(mysql_error());
}
else
{
mysql_query("Update artister Set
anamn='".$_POST['anamn']."',
fnamn='".$_POST['fnamn']."',
birthday='".$_POST['birthday']."',
formed='".$_POST['formed']."',
land='".$_POST['land']."',
kat_id='".$_POST['kat_id']."',
info='".$_POST['info']."',
webb='".$_POST['webb']."'
Where id='".$_GET['id']."'")or die(mysql_error());
MatteMedlem sedan aug. 20002 975 inlägg
Guldstrand skrev:
Nu till en annan fråga...
Går det att spara datumet när en post ändrades/uppdateras på samma sätt som när jag sparar en ny post!?
Ja, du gör likadant.
... datum = DATE_ADD(NOW(), INTERVAL 9 HOUR) ...
Matte skrev:
Ja, du gör likadant.
... datum = DATE_ADD(NOW(), INTERVAL 9 HOUR) ...
Såhär eller:
move_uploaded_file($_FILES['news_foto']['tmp_name'], "news_foto/news_foto_".$_GET['id'].$ext);
mysql_query("Update nyheter Set
datum='".$_POST['datum']."',
titel='".$_POST['titel']."',
intro='".$_POST['intro']."',
info='".$_POST['info']."',
webb='".$_POST['webb']."',
source='".$_POST['source']."',
news_foto='news_foto_".$_GET['id']."$ext'
Where id='".$_GET['id']."', DATE_ADD(NOW(), INTERVAL 9 HOUR))")or die(mysql_error());
}
else
{
mysql_query("Update nyheter Set
datum='".$_POST['datum']."',
titel='".$_POST['titel']."',
intro='".$_POST['intro']."',
info='".$_POST['info']."',
webb='".$_POST['webb']."',
source='".$_POST['source']."'
Where id='".$_GET['id']."', DATE_ADD(NOW(), INTERVAL 9 HOUR))")or die(mysql_error());
MatteMedlem sedan aug. 20002 975 inlägg Nej.
Det är en tid du ska uppdatera. Då bör din sats ligga i SET-delen.
Vilken kolumn är det du ska uppdatera med din tid ?
Matte skrev:
Nej.
Det är en tid du ska uppdatera. Då bör din sats ligga i SET-delen.
Vilken kolumn är det du ska uppdatera med din tid ?
Förstår inte riktigt vad du menar. Det är kolummen "datum" som ska uppdateras.
Eller måste jag skapa en ny kolum med "datetime"?
Exempel:
Publicerad: 2006-05-02 15:15
Uppdaterad: 2006-05-02 15:30 (eller om det är en annan dag som posten uppdaterades.)
MatteMedlem sedan aug. 20002 975 inlägg Då gör du som jag visade, och lägger in det i din SET-del.
Matte skrev:
Då gör du som jag visade, och lägger in det i din SET-del.
Såhär eller:
move_uploaded_file($_FILES['news_foto']['tmp_name'], "news_foto/news_foto_".$_GET['id'].$ext);
mysql_query("Update nyheter Set
titel='".$_POST['titel']."',
intro='".$_POST['intro']."',
info='".$_POST['info']."',
webb='".$_POST['webb']."',
source='".$_POST['source']."',
news_foto='news_foto_".$_GET['id']."$ext'
Where id='".$_GET['id']."', datum = DATE_ADD(NOW(), INTERVAL 9 HOUR))")or die(mysql_error());
}
else
{
mysql_query("Update nyheter Set
titel='".$_POST['titel']."',
intro='".$_POST['intro']."',
info='".$_POST['info']."',
webb='".$_POST['webb']."',
source='".$_POST['source']."'
Where id='".$_GET['id']."', datum = DATE_ADD(NOW(), INTERVAL 9 HOUR))")or die(mysql_error());
Sorry om jag verkar TRÖG... :r :x
MeleaMedlem sedan juli 20033 147 inlägg Nu ligger ju datum = [...] i WHERE-satsen. Som Matte skrev, lägg den i SET istället.
update nyheter set
[...],
datum = DATE_ADD(NOW(), INTERVAL 9
where id = '$_GET[id]'
Nu fick jag följande fel...
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' Where id='19'' at line 7
:l
move_uploaded_file($_FILES['news_foto']['tmp_name'], "news_foto/news_foto_".$_GET['id'].$ext);
mysql_query("Update nyheter Set
titel='".$_POST['titel']."',
intro='".$_POST['intro']."',
info='".$_POST['info']."',
webb='".$_POST['webb']."',
source='".$_POST['source']."',
datum = DATE_ADD(NOW(), INTERVAL 9,
news_foto='news_foto_".$_GET['id']."$ext'
Where id='".$_GET['id']."'")or die(mysql_error());
}
else
{
mysql_query("Update nyheter Set
titel='".$_POST['titel']."',
intro='".$_POST['intro']."',
info='".$_POST['info']."',
webb='".$_POST['webb']."',
source='".$_POST['source']."',
datum = DATE_ADD(NOW(), INTERVAL 9,
Where id='".$_GET['id']."'")or die(mysql_error());
MeleaMedlem sedan juli 20033 147 inlägg Du har ett kommatecken efter INTERVAL 9 i andra SQL-satsen.
MatteMedlem sedan aug. 20002 975 inlägg mysql_query("Update nyheter Set
titel='".$_POST['titel']."',
intro='".$_POST['intro']."',
info='".$_POST['info']."',
webb='".$_POST['webb']."',
source='".$_POST['source']."',
datum = DATE_ADD(NOW(), INTERVAL 9 HOUR)
Where id='".$_GET['id']."'")or die(mysql_error());
Matte skrev:
mysql_query("Update nyheter Set
titel='".$_POST['titel']."',
intro='".$_POST['intro']."',
info='".$_POST['info']."',
webb='".$_POST['webb']."',
source='".$_POST['source']."',
datum = DATE_ADD(NOW(), INTERVAL 9 HOUR)
Where id='".$_GET['id']."'")or die(mysql_error());
Kanon.. nu fungerade det.
MEN... jag tror att det har blivit någon missuppfattning på vägen.
Nu ändras ju både datumet när posten först sparades, samt när posten blev ändrad/uppdaterad. Det är ju inte korrekt.
Hur fixar jag det?
Jag vill alltså VISA på sidan när nyheten först publicerades, samt när den uppdaterades.