Gå til innhold

Problemer med og sett tid inn i DB


Anbefalte innlegg

Skrevet (endret)

$time=gmdate('Y-m-d h:i:s');

mysql_query("UPDATE users SET status='Dead' WHERE username='$kill_username'");
mysql_query("UPDATE users SET status='Dead' WHERE username='$username'");
mysql_query("INSERT INTO `attempts` ( `username`, `target`, `outcome`, `date`) VALUES ( '$target->username', '$username', 'Dead', $time())");
mysql_query("INSERT INTO `attempts` ( `username`, `rank`, `date`) VALUES ( '$username', '$fetch->rank', $time())");
mysql_query("INSERT INTO `attempts` ( `username`, `rank`, `date`) VALUES ( '$target->username', '$target->rank', $time())");
mysql_query("DELETE FROM hitlist WHERE target='$target->username'");
mysql_query("DELETE FROM hitlist WHERE target='$username'");
echo "You Shot <a href='profile.php?viewuser=$kill_username'>$kill_username</a> And They Died, $kill_username Shot Back At You, You Died!";

 

screen shot av db

 

Tiden settes til 00-00-000 :/ noen som kan hjelpe meg med dette?

Endret av bapeape
Videoannonse
Annonse
Skrevet

Hvorfor ikke basere tiden på Unix Time Stamp (date('U')). Jeg synes ihvertfall det er mye lettere å forholde seg til. Og heller bestemme hvordan tidsformatet skal vises når dataene skal printes.

Skrevet

Hvorfor har du parantereser etter $time? Det er hovedsaklig grunnen til at det ikke fungerer. Og skal man ha unix timestamp bruker man time(), eller NOW().

INSERT INTO something(time) VALUES( NOW() );

$time = time();
mysql_query( "INSERT INTO something(time) VALUES( '{$time}' )" );

Skrevet

echo date('U'); vil gi deg et tall på elleve siffer.

Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)
Om du bruker dette i hele mafiaspillet ditt, så vil du ha noe enkelt og fast å forholde deg til. (ihvertfall synes jeg det er enklere).

 

f.eks

echo 'Time of death: ' . date("d.m.Y", $target->date) . "\n";

vil da gi deg noe alá

Time of death: 24.12.07

 

For å bruke dette må du også modifisere databasen til å bruke int f.eks istedenfor datetime.

 

Det er det jeg ville gjort. Ikke sikkert det løser problemet ditt, men for meg ville det vært mer oversiktlig :)

Skrevet

mysql_query("UPDATE users SET status='Dead' WHERE username='$kill_username'");
mysql_query("UPDATE users SET status='Dead' WHERE username='$username'");
mysql_query("INSERT INTO `attempts` ( `username`, `target`, `outcome`, `date`) VALUES ( '$target->username', '$username', 'Dead', (now())'");
mysql_query("INSERT INTO `attempts` ( `username`, `rank`, `date`) VALUES ( '$username', '$fetch->rank', (now())'");
mysql_query("INSERT INTO `attempts` ( `username`, `rank`, `date`) VALUES ( '$target->username', '$target->rank', (now())'");
mysql_query("DELETE FROM hitlist WHERE target='$target->username'");
mysql_query("DELETE FROM hitlist WHERE target='$username'");
echo "You Shot <a href='profile.php?viewuser=$kill_username'>$kill_username</a> And They Died, $kill_username Shot Back At You, You Died!";

 

i databasen også til sql

 

--
-- Table structure for table `attempts`
--

CREATE TABLE `attempts` (
 `id` int(11) NOT NULL auto_increment,
 `username` varchar(40) NOT NULL default '',
 `target` varchar(40) NOT NULL default '',
 `outcome` enum('Dead','Survived') NOT NULL default 'Dead',
 `bullets` varchar(10) NOT NULL default '',
 `date` datetime NOT NULL default '0000-00-00 00:00:00',
 PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=305;

--
-- Dumping data for table `attempts`
--

 

Dette fungerer heller ikke :s

Skrevet (endret)

ahh endra datetime til int i databasen som du sa clvn da fikk jeg opp en vill tid :p

 

Last 10 kill attempts by you
Username 	Date/time
b 	1198813937

 

og heller ingen komma´er på skjermen

Endret av bapeape
Skrevet (endret)

hvis datoen kommer ut fra feks. $rows->Tid

 

så kan du bruke "Date("Y:i:s", $rows->Tid);" i loopen din. ta en titt på Date(); på php.net =)

 

Ser også at du legger inn datoen med funksjonen Now(), er det en egen funksjon du har skrevet?

 

jeg bruker iværtfall "time();" for å printe unixtimestamp.

Endret av zandzpider
Skrevet

:/ jeg får det ikke til, lest å lest, var en som sa jeg skulle endre values til date istede for now også sette type i db til iterger, men funket ikke det heller, hadde noen giddet å skrevet det, altså jeg prøvde i 4 timer i går uten lykke :/

Skrevet

Dessuten er det lurt å bruke "DateTime" i mysql, da du kan bruke masse funksjoner relatert til dette feltet, Du kan også få mysql til å gi deg timestamp ut fra et DateTime felt.. husker ikke hvordan, men bruk google, så finner du det ut ;)

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...