Mortennordby 1 Posted October 8, 2015 HeiJeg har denne .php siden for å skrive verdier til databasen, og har ikke klart å finne ut helt rett syntaks for å få det til å virke å skrive inn $totaltid i databasen. Kan noen fortelle meg hva som ville vært korrekt for å få dette til?Kildekoden er som følger:<?php include 'dbc.php';page_protect();include 'messageunreadnumbers.php';?><?php$con = mysql_connect("localhost","bakkeeqz_data","3330N@trom");if (!$con) { die('Could not connect: ' . mysql_error()); }mysql_select_db("bakkeeqz_data", $con);/*$result = mysql_query("SELECT starttid FROM renndata WHERE id='$_GET[id]' ");$row = mysql_fetch_array($result));$starttid = $row['starttid'];$sluttid = NOW();$totaltid = TIMEDIFF($sluttid - $starttid);*/$event_id = $_GET['id']; mysql_query("update renndata set finished='1' , `totaltid`= '$totaltid' , `sluttid` = NOW() where id='$_GET[id]'") or die(mysql_error());mysql_close($con);header("Location: rennstartlistelangrennfinish.php");exit();?> Quote Share this post Link to post Share on other sites
Vego Media 8 Posted October 8, 2015 HeiJeg har denne .php siden for å skrive verdier til databasen, og har ikke klart å finne ut helt rett syntaks for å få det til å virke å skrive inn $totaltid i databasen. Kan noen fortelle meg hva som ville vært korrekt for å få dette til?Kildekoden er som følger:<?php include 'dbc.php';page_protect();include 'messageunreadnumbers.php';?><?php$con = mysql_connect("localhost","bakkeeqz_data","3330N@trom");if (!$con) { die('Could not connect: ' . mysql_error()); }mysql_select_db("bakkeeqz_data", $con);/*$result = mysql_query("SELECT starttid FROM renndata WHERE id='$_GET[id]' ");$row = mysql_fetch_array($result));$starttid = $row['starttid'];$sluttid = NOW();$totaltid = TIMEDIFF($sluttid - $starttid);*/$event_id = $_GET['id']; mysql_query("update renndata set finished='1' , `totaltid`= '$totaltid' , `sluttid` = NOW() where id='$_GET[id]'") or die(mysql_error());mysql_close($con);header("Location: rennstartlistelangrennfinish.php");exit();?>I koden du limte inn så er det kommentert bort den delen som setter verdi til $totaltid, mulig det bare er en debugging fra din side.Isåfall får du oppdatert de andre feltene i databasen? Prøv å skrive ut $totaltid før du prøver å skrive det inn i databasen, for å se hva den inneholder. Quote Share this post Link to post Share on other sites
john 10 Posted October 8, 2015 Ser at du prøver å bruke NOW(), og TIMEDIFF i php-koden. Dette går IKKE, siden det er mysql funksjoner.Originalt har du: mysql_query("update renndata set finished='1' , `totaltid`= '$totaltid' , `sluttid` = NOW() where id='$_GET[id]'") or die(mysql_error());Hva om du endrer dette til:mysql_query("update renndata set finished='1' , `totaltid`= TIMEDIFF($sluttid - $starttid) , `sluttid` = NOW() where id='$_GET[id]'") or die(mysql_error());Post gjerne et svar om det fungerte eller ikke! Her kan du lese mer om MYSQL funskjoner knyttet til tid og dato, den gir også gode eksempler: http://www.w3resource.com/mysql/date-and-time-functions/date-and-time-functions.php Quote Share this post Link to post Share on other sites
Mortennordby 1 Posted October 8, 2015 Hei JohnSkjønner at NOW() ikke kan brukes i php-delen. Tingen er den at sluttid verdien ikke er lagret i databasen fra før, bare starttiden. Og grunnen til at jeg trøbler er at jeg har behov for å skrive både sluttid og totaltid til databasen.Kan det gjøres på denne måten:mysql_query("update renndata set finished='1' , `totaltid`= TIMEDIFF(NOW() - $starttid) , `sluttid` = NOW() where id='$_GET[id]'") or die(mysql_error()); Quote Share this post Link to post Share on other sites
Mortennordby 1 Posted October 8, 2015 Hei JohnTestet akkurat det jeg skrev i forrige post, og det funket ikke :-( Quote Share this post Link to post Share on other sites
Vego Media 8 Posted October 8, 2015 Hei JohnSkjønner at NOW() ikke kan brukes i php-delen. Tingen er den at sluttid verdien ikke er lagret i databasen fra før, bare starttiden. Og grunnen til at jeg trøbler er at jeg har behov for å skrive både sluttid og totaltid til databasen.Kan det gjøres på denne måten:mysql_query("update renndata set finished='1' , `totaltid`= TIMEDIFF(NOW() - $starttid) , `sluttid` = NOW() where id='$_GET[id]'") or die(mysql_error());Morten: Du kan nok ikke bruke MySQL TIMEDIFF på den måten, det er en funksjon som skal ha inn to parametre (se: http://www.w3resource.com/mysql/date-and-time-functions/mysql-timediff-function.php). Ta vekk minustegnet ditt og sett inn et komma så vil nok TIMEDIFF fungere.Forutsetter selvfølgelig at du har riktig format på verdien i variabelen $starttid.Håper det hjelper Quote Share this post Link to post Share on other sites